Latest revision as of 16:59, 10 March 2011

Contents

Recent discussions have illustrated the need for an up-to-date Haskell benchmark suite. The goal would be to package a number of representative benchmarks, written in Haskell, which users can run on their machine. Gathering (and publishing) performance numbers for these benchmarks on a number of different machines will hopefully help in guiding future development of both Haskell compilers and programs.

Make sure code is pure Haskell as accepted by standard Haskell 98 (with addendums) or Haskell'

For each program include a correct version along with several buggy versions (perhaps even bugs that the programmer introduced while writing the benchmark) so that the programs can be used to test debuggers

For each program, include a clean, simple idiomatic version, and a hand-optimized fast version. This should hopefully give clues as to which programs have the most room for improvement, as well as what types of optimizations are helpful for a given program.

(JohnMeacham) Insert non-formatted text here pretty much every compiler has a mode similar to 'ghc --make', so just let the user specify an arbitrary command line for the compiler to use, like 'jhc -v -flint $< -o $@' or 'ghc --make $< -o $@'

(beelsebob) read Olaf's paper, he has evidence that speed problems in Haskell are usually because people are doing things too strictly

Before I knew about the HaBench project, I (David Peixotto) created the Fibon benchmark suite. Fibon is an effort to create a new Haskell benchmark suite and benchmarking tools. I'm all for merging efforts, but just wanted to put a pointer to the benchmark suite here for anyone arriving via web search. It currently contains 35 benchmarks taken from Hackge, the Shootout, DPH, and Repa libraries. The source code for the tools and benchmarks are available on github.