Skip to content
Ryan Newton edited this page May 23, 2014 · 18 revisions

HSBencher - a system for distributed benchmarking and data aggregation

HSBencher is a benchmarking harness and benchmark data management system written in Haskell. It can be installed from Hackage.

The goal of HSBencher is to run a bunch of benchmarks, each as a single process and as the only thing running on a machine, and then repeat this process, varying across a parameter space. Properties of these runs (e.g. time elapsed) are recorded and then stored in some kind of database (see "backends" below), where they can be retrieved.

HSBencher works well with using systems like Jenkins to launch benchmark jobs on many machines, while relying on HSBencher to aggregate the benchmark data back to a single place.

Backends

  • DribbleBackend -- a simple backend for outputting to a local CSV file.
  • FusionTableBackend -- Upload data to a Google Fusion Table. Corresponds to module HSBencher.Backend.Fusion, package hsbencher-fusion.

Build Methods

  • CustomBuildMethod_HowTo
  • BuiltInBuildMethods -- rudimentary cabal, ghc, and make BuildMethods