By Samuli Thomasson
- Explore some great benefits of lazy overview, compiler positive factors, and instruments and libraries designed for prime performance
- Write quickly courses at super excessive degrees of abstraction
- Work via functional examples to help you deal with the demanding situations of writing effective code
Haskell, with its energy to optimize the code and its excessive functionality, is a typical candidate for prime functionality programming. it truly is particularly like minded to stacking abstractions excessive with a comparatively low functionality price. This publication addresses the demanding situations of writing effective code with lazy evaluate and strategies frequently used to optimize the functionality of Haskell programs.
We open with an in-depth examine the overview of Haskell expressions and speak about optimization and benchmarking. you'll learn how to use parallelism and we are going to discover the idea that of streaming. we are going to show the advantages of working multithreaded and concurrent functions. subsequent we are going to consultant you thru a variety of profiling instruments that can assist you determine functionality concerns on your software. we are going to finish our trip by means of GPGPU, Cloud and sensible Reactive Programming in Haskell. on the very finish there's a catalogue of strong library options with code samples.
By the tip of the booklet, it is possible for you to to spice up the functionality of any app and get ready it to face as much as real-world punishment.
What you are going to learn
- Program idiomatic Haskell that is additionally unusually efficient
- Improve functionality of your code with information parallelism, inlining, and strictness annotations
- Profile your courses to spot house leaks and ignored possibilities for optimization
- Find out tips to pick out the most productive info and regulate structures
- Optimize the Glasgow Haskell Compiler and runtime method for particular programs
- See easy methods to easily drop to decrease abstractions anywhere necessary
- Execute programming for the GPU with Accelerate
- Implement programming to simply scale to the cloud with Cloud Haskell
About the Author
Samuli Thomasson is a long-time sensible programming fanatic from Finland who has used Haskell greatly, either as a hobby and commercially, for over 4 years. He enjoys operating with nice instruments that assist in getting issues performed great and fast.
His present task at RELEX ideas comprises offering technical suggestions to numerous sensible difficulties. along with useful programming, Samuli is attracted to allotted platforms, which he additionally reviews on the collage of Helsinki.
Table of Contents
- Identifying Bottlenecks
- Choosing the proper info Structures
- Profile and Benchmark on your Heart's Content
- The Devil's within the Detail
- Parallelize for Performance
- I/O and Streaming
- Concurrency and Performance
- Tweaking the Compiler and Runtime approach (GHC)
- GHC Internals and Code Generation
- Foreign functionality Interface
- Programming for the GPU with Accelerate
- Scaling to the Cloud with Cloud Haskell
- Functional Reactive Programming
- Library Recommendations