3 ms·
The article is written by Bryan O'Sullivan, author of the criterion[1] and text[2] packages and co-author of Real World Haskell[3]. If he's not the world's fore
by jmillikin 17y ago
The article is written by Bryan O'Sullivan, author of the criterion[1] and text[2] packages and co-author of Real World Haskell[3]. If he's not the world's foremost expert on Haskell performance, he's certainly in the top 5. This benchmark undoubtedly takes laziness into account.
[1] http://hackage.haskell.org/package/criterion http://hackage.haskell.org/package/criterion
[2] http://hackage.haskell.org/package/text http://hackage.haskell.org/package/text
[3] http://www.realworldhaskell.org/ http://www.realworldhaskell.org/
- andrewcooke 17y agook! (i didn't mean it as personal criticism - i am currently debugging/tuning my own recursive descent library (lepl) and am having a world of pain with memoisation, which is a similar problem...). bryan, if you see this, more info on what makes that lib so fast would be greatly appreciated!
- jmillikin 17y agoIf you need to do any sort of benchmarking for Haskell libraries, I can't recommend Criterion (and Neil Brown's package Progression[1]) enough. It handles all the details for lazy evaluation (NF vs WHNF, pure vs IO, etc) quietly behind the scenes, and uses a well-designed statistics analysis library to calculate the final numbers. Don Stewart has written a short introduction, Modern Benchmarking in Haskell[2]. It's worth mentioning that Criterion can be used for anything that can be called via the FFI -- I'm using it for benchmarking Python libraries, for example. [1] http://hackage.haskell.org/package/progression http://hackage.haskell.org/package/progression [2] http://donsbot.wordpress.com/2010/02/23/modern-benchmarking-in-haskell/ http://donsbot.wordpress.com/2010/02/23/modern-benchmarking-...