Skip to content
Snippets Groups Projects
Commit 612ad668 authored by Ben Gamari's avatar Ben Gamari :turtle:
Browse files

Introduce Shake-based build system

This introduces a Shake-based build system, building on Neil Mitchell's
prototype from several years ago [1].

This build system has a number of features relative to the existing
make-based build system:

 * results are produced in a common CSV structure, making it easy to use
   the included analysis tool nofib-compare, to compare results from tests
   outside of nofib.
 * Cachegrind runs can be run in parallel, greatly speeding up such
   measurements
 * native support for (micro-)architectural performance counters on
   Linux via `perf stat`

[1] https://gist.github.com/ndmitchell/4733855

There are also a few more changes to tests to make this build system
work well with nofib.

In particular:

* The Main module for some benchmarks has been renamed.
* The boot phase of benchmarks is now done by a boot.sh script.
* Replace some uses of perl with ghci.
* Some benchmarks that we didn't use to run by default had
  missing/wrong(!) stdout files. I added/updated these.

Take note that shake will run *more* benchmarks by default than make
used to. So you might want to select a subset of benchmarks to run when
using it.
parent 1ccfd527
No related branches found
No related tags found
1 merge request!24Shaking it up
Pipeline #26298 passed
Showing with 711 additions and 20791 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment