Haskell High Performance Programming (Paperback) – September 26, 2016
暫譯: Haskell 高效能程式設計 (平裝本) – 2016年9月26日

Samuli Thomasson

  • 出版商: Packt Publishing
  • 出版日期: 2016-09-26
  • 售價: $2,220
  • 貴賓價: 9.5$2,109
  • 語言: 英文
  • 頁數: 408
  • 裝訂: Paperback
  • ISBN: 1786464217
  • ISBN-13: 9781786464217
  • 相關分類: Functional-programming
  • 海外代購書籍(需單獨結帳)

商品描述

Key Features

  • Explore the benefits of lazy evaluation, compiler features, and tools and libraries designed for high performance
  • Write fast programs at extremely high levels of abstraction
  • Work through practical examples that will help you address the challenges of writing efficient code

Book Description

Haskell, with its power to optimize the code and its high performance, is a natural candidate for high performance programming. It is especially well suited to stacking abstractions high with a relatively low performance cost. This book addresses the challenges of writing efficient code with lazy evaluation and techniques often used to optimize the performance of Haskell programs.

We open with an in-depth look at the evaluation of Haskell expressions and discuss optimization and benchmarking. You will learn to use parallelism and we'll explore the concept of streaming. We'll demonstrate the benefits of running multithreaded and concurrent applications. Next we'll guide you through various profiling tools that will help you identify performance issues in your program. We'll end our journey by looking at GPGPU, Cloud and Functional Reactive Programming in Haskell. At the very end there is a catalogue of robust library recommendations with code samples.

By the end of the book, you will be able to boost the performance of any app and prepare it to stand up to real-world punishment.

What you will learn

  • Program idiomatic Haskell that's also surprisingly efficient
  • Improve performance of your code with data parallelism, inlining, and strictness annotations
  • Profile your programs to identify space leaks and missed opportunities for optimization
  • Find out how to choose the most efficient data and control structures
  • Optimize the Glasgow Haskell Compiler and runtime system for specific programs
  • See how to smoothly drop to lower abstractions wherever necessary
  • Execute programming for the GPU with Accelerate
  • Implement programming to easily scale to the cloud with Cloud Haskell

About the Author

Samuli Thomasson is a long-time functional programming enthusiast from Finland who has used Haskell extensively, both as a pastime and commercially, for over four years. He enjoys working with great tools that help in getting things done nice and fast.

His current job at RELEX Solutions consists of providing technical solutions to a variety of practical problems. Besides functional programming, Samuli is interested in distributed systems, which he also studies at the University of Helsinki.

Table of Contents

  1. Identifying Bottlenecks
  2. Choosing the Correct Data Structures
  3. Profile and Benchmark to Your Heart's Content
  4. The Devil's in the Detail
  5. Parallelize for Performance
  6. I/O and Streaming
  7. Concurrency and Performance
  8. Tweaking the Compiler and Runtime System (GHC)
  9. GHC Internals and Code Generation
  10. Foreign Function Interface
  11. Programming for the GPU with Accelerate
  12. Scaling to the Cloud with Cloud Haskell
  13. Functional Reactive Programming
  14. Library Recommendations

商品描述(中文翻譯)

**主要特點**

- 探索懶惰評估、編譯器特性以及為高效能設計的工具和函式庫的好處
- 在極高的抽象層次上編寫快速程式
- 通過實際範例幫助您解決編寫高效程式的挑戰

**書籍描述**

Haskell 以其優化程式碼的能力和高效能,自然成為高效能程式設計的候選者。它特別適合以相對低的效能成本堆疊高層次的抽象。本書針對使用懶惰評估和常用的優化技術來編寫高效程式的挑戰進行探討。

我們將深入探討 Haskell 表達式的評估,並討論優化和基準測試。您將學會使用並行性,我們將探索串流的概念。我們將展示運行多執行緒和並發應用程式的好處。接下來,我們將引導您使用各種分析工具,幫助您識別程式中的效能問題。我們的旅程將以探討 GPGPU、雲端和 Haskell 的函數反應式程式設計作結。在最後,我們將提供一份穩健的函式庫推薦目錄,並附上程式碼範例。

在書籍結束時,您將能夠提升任何應用程式的效能,並使其能夠承受現實世界的考驗。

**您將學到的內容**

- 編寫符合慣用法的 Haskell 程式,並且出乎意料地高效
- 通過資料並行性、內聯和嚴格性註解來改善程式碼的效能
- 分析您的程式以識別空間洩漏和未利用的優化機會
- 瞭解如何選擇最有效的資料和控制結構
- 為特定程式優化 Glasgow Haskell Compiler 和運行時系統
- 瞭解如何在必要時平滑地降級到較低的抽象層次
- 使用 Accelerate 執行 GPU 程式設計
- 實現 Cloud Haskell 以輕鬆擴展到雲端

**關於作者**

**Samuli Thomasson** 是來自芬蘭的長期函數程式設計愛好者,已經廣泛使用 Haskell 超過四年,無論是作為消遣還是商業用途。他喜歡使用優秀的工具來快速高效地完成工作。

他目前在 RELEX Solutions 的工作是為各種實際問題提供技術解決方案。除了函數程式設計外,Samuli 還對分散式系統感興趣,並在赫爾辛基大學進行相關研究。

**目錄**

1. 識別瓶頸
2. 選擇正確的資料結構
3. 隨心所欲地分析和基準測試
4. 細節中的魔鬼
5. 為效能進行並行化
6. I/O 和串流
7. 並發性與效能
8. 調整編譯器和運行時系統 (GHC)
9. GHC 內部和程式碼生成
10. 外部函數介面
11. 使用 Accelerate 進行 GPU 程式設計
12. 使用 Cloud Haskell 擴展到雲端
13. 函數反應式程式設計
14. 函式庫推薦

最後瀏覽商品 (20)