Changes between Version 10 and Version 11 of Building/RunningNoFib
- Timestamp:
- 04/02/10 09:22:55 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Building/RunningNoFib
v10 v11 3 3 = The !NoFib Benchmark Suite = 4 4 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`. 5 The !NoFib benchmark suite is a collection of (mostly old) Haskell programs that we use for benchmarking GHC. 6 7 == Getting nofib == 8 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`. From your GHC tree, run: 9 10 {{{ 11 ./darc-all --nofib get 12 }}} 13 14 It will be pulled into the a "nofib" subdirectory. 15 16 == Benchmarking == 6 17 7 18 To run the tests: … … 38 49 }}} 39 50 51 == Complete recipe == 52 53 {{{ 54 cd nofib 55 make clean && make boot && make -k >& log1 56 make clean && make boot && make -k EXTRA_HC_OPTS=-fenable-cool-optimisation >& log2 57 nofib-analyse/nofib-analyse log1 log2 58 }}} 59 60 The 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 64 If the comparison identifies any particularly bad benchmark results, you can run them individually by changing into their directory and running something like: 65 66 {{{ 67 EXTRA_HC_OPTS="-fenable-cool-optimisation -ddump-simpl" make 68 }}} 69 70 You can add whatever dumping flags you need to see the output and understand what is going wrong. 71 40 72 == Tweaking things == 41 73
