progression- Automates the recording and graphing of criterion benchmarks

Safe HaskellNone



The primary module in Progression; contains methods that you can use as the main method of your wrapper program. Typically, to use Progression, you create a Haskell program that defines/imports the benchmarks, and passes them to the defaultMain method below. You then compile that program and run it to record and graph your benchmarks.



defaultMain :: Benchmark -> IO ()Source

Takes the given benchmark (which is likely a benchmark group) and runs it as part of Progression, recording the results and producing graphs. The Benchmark type is imported from the Criterion library, so see the documentation for Criterion to find out what can be benchmarked and any issues that might arise in the benchmarking.

This function will process the command-line arguments of the program, consuming any progression arguments, and passing any arguments that occur after a "--" argument on to Criterion. If you want to perform further argument processing, it is best to do this before the call, and wrap the call in withArgs.

defaultMainWith :: Config -> Benchmark -> IO ()Source

Like defaultMain but you can specify the default configuration. Command-line argument processing is still performed, and command-line settings will take precedence over the config passed in.