Practical Haskell Performance
Great you’ve written some elegant Haskell application using the latest in burrito and type system hackery. It all type checks and you adversary Senior QuickCheck can’t find any holes in your logic. Winning at life, now to push that into production and pat yourself on the back. Hold on, your beautiful Haskell code is behaving poorly, eating up all the memory and most of the CPU. That shouldn’t be, time to do a little investigation.
This talk will offer a practical look at Haskell performance, motivated by real life Haskell programs from Ambiata. We will look at things like strict and lazy data types, profiling tools and memory usage, and will offer up practical suggestions on making Haskell fast.
In the Haskell community there is a wealth of information around using types and general functional principles, much of the teaching material focuses on this which provides a solid foundation for using functional programming. However there is missing information around how to make Haskell code fast, or at least fast enough that it doesn’t matter.