Chapter 3. Profile and Benchmark to Your Heart's Content

So far we haven't used much else but heap usage statistics to gauge the performance of Haskell programs. For a quick overview of the overall performance of a program, a simple +RTS -s is often sufficient. However, often it is necessary to know which parts of the code specifically are taking up the most time and space.

In this chapter we extend our toolset with more sophisticated profiling and benchmarking facilities. We will learn to inspect and set cost centres, to benchmark robustly when semantics are mostly lazy. Finally we'll also look at monitoring performance while the program is still running.

  • Profiling time, allocation and space usage
  • Profiling the heap: break-downs and subset selection ...

Get Haskell High Performance Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.