Changes between Version 10 and Version 11 of Building/RunningNoFib


Ignore:
Timestamp:
Apr 2, 2010 4:22:55 PM (5 years ago)
Author:
batterseapower
Comment:

Move stuff from the other wiki page I added to here

Legend:

Unmodified
Added
Removed
Modified
  • Building/RunningNoFib

    v10 v11  
    33= The !NoFib Benchmark Suite =
    44
    5 The !NoFib benchmark suite is a collection of (mostly old) Haskell programs that we use for benchmarking GHC.  The !NoFib suite is kept in a separate darcs repository (see DarcsRepositories), and it should be checked out at the top level of a GHC source tree, i.e. at the same level as `compiler` and `libraries`.
     5The !NoFib benchmark suite is a collection of (mostly old) Haskell programs that we use for benchmarking GHC.
     6
     7== Getting nofib ==
     8The !NoFib suite is kept in a separate darcs repository (see DarcsRepositories), and it should be checked out at the top level of a GHC source tree, i.e. at the same level as `compiler` and `libraries`. From your GHC tree, run:
     9
     10{{{
     11./darc-all --nofib get
     12}}}
     13
     14It will be pulled into the a "nofib" subdirectory.
     15
     16== Benchmarking ==
    617
    718To run the tests:
     
    3849}}}
    3950
     51== Complete recipe ==
     52
     53{{{
     54cd nofib
     55make clean && make boot && make -k >& log1
     56make clean && make boot && make -k EXTRA_HC_OPTS=-fenable-cool-optimisation >& log2
     57nofib-analyse/nofib-analyse log1 log2
     58}}}
     59
     60The output of the nofib-analyse tool is quite readable, with two provisios:
     61  * Missing values in the output typically mean that the benchmark crashed and may indicate a problem with your optimisation
     62  * If a difference between the two modes is displayed as an absolute quantity instead of a percentage, it means that the difference was below the threshold at which the analyser considers it significant
     63
     64If the comparison identifies any particularly bad benchmark results, you can run them individually by changing into their directory and running something like:
     65
     66{{{
     67EXTRA_HC_OPTS="-fenable-cool-optimisation -ddump-simpl" make
     68}}}
     69
     70You can add whatever dumping flags you need to see the output and understand what is going wrong.
     71
    4072== Tweaking things ==
    4173