Skip to content
  • Ben Gamari's avatar
    612ad668
    Introduce Shake-based build system · 612ad668
    Ben Gamari authored
    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.
    612ad668
    Introduce Shake-based build system
    Ben Gamari authored
    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.
Loading