hsbencher-1.8.0.4: Launch and gather data from Haskell and non-Haskell benchmarks.

Safe HaskellNone

HSBencher.Methods.Builtin

Description

These are the built-in build methods for HSBencher that come with the main package. They are relatively unsophisticated.

Synopsis

Documentation

makeMethod :: BuildMethodSource

Build with GNU Make. This is a basic Make protocol; your application may need something more complicated. This assumes targets clean, run, and the default target for building.

The variables RUN_ARGS and COMPILE_ARGS are used to pass in the per-benchmark run and compile options, so the Makefile must be written with these conventions in mind. Note that this build method never knows where or if any resulting binaries reside. One effect of that is that this simple build method can never be used for PARALLEL compiles, because it cannot manage where the build-intermediates are stored.

ghcMethod :: BuildMethodSource

Build with GHC directly. This assumes that all dependencies are installed and a single call to ghc can build the file.

Compile-time arguments go directly to GHC, and runtime arguments directly to the resulting binary.

cabalMethod :: BuildMethodSource

Build with cabal. Specifically, this uses cabal install.

This build method attempts to choose reasonable defaults for benchmarking. It takes control of the output program suffix and directory (setting it to BENCHROOT/bin). It passes compile-time arguments directly to cabal. Likewise, runtime arguments get passed directly to the resulting binary.