[commit: nofib] wip/D5438: Stabilise benchmarks wrt. GC (651416b)

git at git.haskell.org git at git.haskell.org
Sun Dec 30 18:49:04 UTC 2018


Repository : ssh://git@git.haskell.org/nofib

On branch  : wip/D5438
Link       : http://ghc.haskell.org/trac/ghc/changeset/651416b0b3194f3d3e378125234d948389ce1333/nofib

>---------------------------------------------------------------

commit 651416b0b3194f3d3e378125234d948389ce1333
Author: Sebastian Graf <sebastian.graf at kit.edu>
Date:   Sun Dec 30 19:36:23 2018 +0100

    Stabilise benchmarks wrt. GC
    
    Summary:
    This is currently a work-in-progress of #15999, a follow-up on #5793 and #15357.
    
    As this patch will change some benchmarks (i.e. `wheel-sieve1`, `awards`)
    rather drastically, I wanted to get some early feedback on this, rather than
    quietly investing hours of work when this patch would never have had a chance
    to be accepted to begin with.
    
    The general plan is outlined in #15999: Identify GC-sensitive benchmarks by looking at how productivity rates change over different nursery sizes and iterate `main` of these benchmarks often enough for the wibbles to go away.
    
    I was paying attention that the benchmarked logic is actually run $n times more often.
    
    When I found benchmarks with insignificant runtime (#15357), I made sure that parameters/input files were adjusted so that runtime of the different modes falls within the ranges described in https://ghc.haskell.org/trac/ghc/ticket/15357#comment:4.
    
    This is what I did:
    
    - Stabilise gen_regexp
    - Stabilise primes
    - Stabilise wheel-sieve1
    - Stabilise wheel-sieve2
    - Adjust running time of x2n1
    - Adjust running time of ansi
    - Adjust running time of atom
    - Make awards benchmark something other than IO
    - Adjust running time of banner
    - Stabilise boyer
    - Adjust running time of boyer2
    - Adjust running time of queens
    - Adjust running time of calendar
    - Adjust runtime of cichelli
    - Stabilise circsim
    - Stabilise clausify
    - Stabilise constraints with moderate success
    - Adjust running time of cryptarithm1
    - Adjust running time of cryptarythm2
    - Adjust running time of cse
    - Adjust running time of eliza
    - Adjust running time of exact-reals
    - Adjust running time of expert
    - Stabilise fft2
    - Stabilise fibheaps
    - Stabilise fish
    - Adjust running time for gcd
    - Stabilise comp_lab_zift
    - Stabilise event
    - Stabilise fft
    - Stabilise genfft
    - Stabilise ida
    - Adjust running time for listcompr
    - Adjust running time for listcopy
    - Adjust running time of nucleic2
    - Attempt to stabilise parstof
    - Stabilise sched
    - Stabilise solid
    - Adjust running time of transform
    - Adjust running time of typecheck
    - Stabilise wang
    - Stabilise wave4main
    - Adjust running time of integer
    - Adjust running time of knights
    - Stabilise lambda
    - Stabilise lcss
    - Stabilise life
    - Stabilise mandel
    - Stabilise mandel2
    - Adjust running time of mate
    - Stabilise minimax
    - Adjust running time of multiplier
    - Adjust running time of para
    - Stabilise power
    - Adjust running time of primetest
    - Stabilise puzzle with mild success
    - Adjust running time for rewrite
    - Stabilise simple with mild success
    - Stabilise sorting
    - Stabilise sphere
    - Stabilise treejoin
    - Stabilise bspt
    - Stabilise cacheprof
    - Stablise compress
    - Stablise compress2
    - Stabilise fem
    - Adjust running time of fluid
    - Stabilise fulsom
    - Stabilise gamteb
    - Stabilise gg
    - Stabilise grep
    - Adjust running time of hidden
    - Stabilise hpg
    - Stabilise infer
    - Stabilise lift
    - Stabilise linear
    - Attempt to stabilise maillist
    - Stabilise mkhprog
    - Stabilise parser
    - Stabilise pic
    - Stabilise prolog
    - Attempt to stabilise reptile
    - Adjust running time of rsa
    - Adjust running time of scs
    - Stabilise symalg
    - Stabilise veritas
    - Stabilise binary-trees
    - Adjust running time of fasta
    - Adjust running time of k-nucleotide
    - Adjust running time of pidigits
    - Adjust running time of reverse-complement
    - Adjust running time of spectral-norm
    - Adjust running time of fannkuch-redux
    - Adjust running time for n-body
    
    Problematic benchmarks:
    
    - `last-piece`: Unclear how to stabilise. Runs for 300ms and I can't make up smaller inputs because I don't understand what it does.
    - `pretty`: It's just much too small to be relevant at all. Maybe we want to get rid of this one?
    - `scc`: Same as `pretty`. The input graph for which SCC analysis is done is much too small and I can't find good directed example graphs on the internet.
    - `secretary`: Apparently this needs `-package random` and consequently hasn't been run for a long time.
    - `simple`: Same as `last-piece`. Decent runtime (70ms), but it's unstable and I see no way to iterate it ~100 times in fast mode.
    - `eff`: Every benchmark is problematic here. Not from the point of view of allocations, but because the actual logic is vacuous. IMO, these should be performance tests, not actual benchmarks. Alternatively, write an actual application that makes use of algebraic effects.
    - `maillist`: Too trivial. It's just String/list manipulation, not representative of any Haskell code we would write today (no use of base library functions which could be fused, uses String instead of Text). It's only 75 loc according to `cloc`, that's not a `real` application.
    
    Reviewers: simonpj, simonmar, bgamari, AndreasK, osa1, alpmestan, O26 nofib
    
    GHC Trac Issues: #15999
    
    Differential Revision: https://phabricator.haskell.org/D5438


>---------------------------------------------------------------

651416b0b3194f3d3e378125234d948389ce1333
 .gitignore                                         |      9 +-
 imaginary/gen_regexps/Main.hs                      |      6 +-
 imaginary/gen_regexps/Makefile                     |      3 +
 imaginary/gen_regexps/gen_regexps.faststdin        |      1 -
 imaginary/gen_regexps/gen_regexps.faststdout       |    101 +-
 imaginary/gen_regexps/gen_regexps.slowstdout       |    100 +
 imaginary/gen_regexps/gen_regexps.stdin            |      1 -
 imaginary/gen_regexps/gen_regexps.stdout           |    101 +-
 imaginary/paraffins/Main.hs                        |      3 +-
 imaginary/paraffins/Makefile                       |      7 +-
 imaginary/paraffins/paraffins.faststdout           |   4004 +-
 imaginary/paraffins/paraffins.slowstdout           |   4000 +
 imaginary/paraffins/paraffins.stdout               |   4004 +-
 imaginary/primes/Main.hs                           |     12 +-
 imaginary/primes/Makefile                          |      6 +-
 imaginary/primes/primes.faststdout                 |    101 +-
 imaginary/primes/primes.slowstdout                 |    101 +-
 imaginary/primes/primes.stdout                     |    101 +-
 imaginary/queens/Makefile                          |      4 +-
 imaginary/queens/queens.faststdout                 |      2 +-
 imaginary/queens/queens.slowstdout                 |      1 +
 imaginary/wheel-sieve1/Main.hs                     |     30 +-
 imaginary/wheel-sieve1/Makefile                    |      6 +-
 imaginary/wheel-sieve1/wheel-sieve1.faststdout     |    101 +-
 imaginary/wheel-sieve1/wheel-sieve1.slowstdout     |    101 +-
 imaginary/wheel-sieve1/wheel-sieve1.stdout         |    101 +-
 imaginary/wheel-sieve2/Main.hs                     |     30 +-
 imaginary/wheel-sieve2/Makefile                    |      6 +-
 imaginary/wheel-sieve2/wheel-sieve2.faststdout     |    101 +-
 imaginary/wheel-sieve2/wheel-sieve2.slowstdout     |    100 +
 imaginary/wheel-sieve2/wheel-sieve2.stdout         |    101 +-
 imaginary/x2n1/Makefile                            |      6 +-
 imaginary/x2n1/x2n1.faststdout                     |      2 +-
 imaginary/x2n1/x2n1.slowstdout                     |      1 +
 imaginary/x2n1/x2n1.stdout                         |      2 +-
 real/anna/Main.hs                                  |     26 +-
 real/anna/Makefile                                 |      6 +-
 real/anna/anna.faststdin                           |    268 -
 real/anna/anna.faststdout                          |   2000 +-
 real/anna/{anna.stdin => anna.full}                |      0
 real/anna/anna.slowstdin                           |    603 +
 real/anna/anna.slowstdout                          |    100 +
 real/anna/anna.stdin                               |   1039 -
 real/anna/anna.stdout                              |   6101 +-
 real/bspt/Input.lhs                                |      3 +-
 real/bspt/Main.hs                                  |     17 +
 real/bspt/Main.lhs                                 |      8 -
 real/bspt/Makefile                                 |      3 +
 real/bspt/{Prog.lhs => Prog.hs}                    |      2 -
 real/bspt/bspt.faststdout                          |   1000 +
 real/bspt/bspt.slowstdout                          |  50000 ++++
 real/bspt/bspt.stdout                              |  10004 +-
 real/cacheprof/Main.hs                             |     80 +-
 real/cacheprof/cacheprof.faststdin                 |     76 +
 .../cacheprof/cacheprof.full                       |      0
 real/cacheprof/cacheprof.slowstdin                 |   3040 +
 real/cacheprof/cacheprof.stdin                     |  13108 -
 real/cacheprof/cacheprof.stdout                    | 107220 --------
 real/compress/Main.hs                              |      9 +-
 real/compress/Makefile                             |      9 +-
 real/compress/compress.faststdin                   |  20051 +-
 real/compress/compress.faststdout                  |    201 +-
 real/compress/compress.slowstdin                   |    298 +
 real/compress/compress.slowstdout                  |    200 +
 real/compress/compress.stdin                       |    147 +
 real/compress/compress.stdout                      |    201 +-
 real/compress2/Main.hs                             |     14 +-
 real/compress2/Makefile                            |     17 +-
 real/compress2/compress2.faststdin                 |  20051 +-
 real/compress2/compress2.faststdout                |    Bin 44152 -> 10146 bytes
 real/compress2/compress2.slowstdin                 |    298 +
 real/compress2/compress2.slowstdout                |    500 +
 real/compress2/compress2.stdin                     |    147 +
 real/compress2/compress2.stdout                    |    500 +
 real/fem/Main.hs                                   |     41 +-
 real/fem/Makefile                                  |      4 +
 real/fem/fem.stdout                                |    257 -
 real/fem/fem.stdout-linux                          |    257 -
 real/fem/fem.stdout-x86-linux                      |    257 -
 real/fem/fem.stdout1                               |    257 -
 real/fem/fem.stdout2                               |    257 -
 real/fluid/Main.hs                                 |     62 +-
 real/fluid/Makefile                                |      3 +
 real/fluid/fluid.stdout                            |      6 -
 real/fluid/fluid.stdout-freebsd                    |      6 -
 real/fluid/fluid.stdout-linux                      |      6 -
 real/fluid/fluid.stdout1                           |      6 -
 real/fulsom/Main.hs                                |      9 +-
 real/fulsom/Makefile                               |      6 +-
 real/fulsom/fulsom.faststdout                      |    Bin 87916 -> 20000 bytes
 real/fulsom/fulsom.slowstdout                      |   1000 +
 real/fulsom/fulsom.stdout                          |    Bin 346864 -> 21000 bytes
 real/gamteb/Main.hs                                |     18 +-
 real/gamteb/Makefile                               |      3 +
 real/gamteb/gamteb.faststdin                       |      1 -
 real/gamteb/gamteb.faststdout                      |   2748 +-
 real/gamteb/gamteb.faststdout1                     |   2548 -
 real/gamteb/gamteb.slowstdout                      |    200 +
 real/gamteb/gamteb.stderr                          |      1 -
 real/gamteb/gamteb.stdin                           |      1 -
 real/gamteb/gamteb.stdout                          |  80629 +-----
 real/gg/Main.hs                                    |     26 +-
 real/gg/Makefile                                   |      4 +
 real/gg/gg.faststdin                               |     46 +
 real/gg/gg.faststdout                              |    150 +
 real/gg/{gg.stdin => gg.slowstdin}                 |      0
 real/gg/gg.slowstdout                              |   1500 +
 real/gg/gg.stdin                                   |     86 -
 real/gg/gg.stdout                                  |   1723 +-
 real/grep/Main.lhs                                 |     22 +-
 real/grep/Makefile                                 |      7 +-
 real/grep/grep.faststdin                           |    174 +
 real/grep/grep.faststdout                          |    100 +
 real/grep/grep.slowstdin                           |   4000 +
 real/grep/grep.slowstdout                          |    250 +
 real/grep/grep.stdin                               |   1000 +
 real/grep/grep.stdout                              |    169 +-
 real/hidden/Main.hs                                |     21 +-
 real/hidden/Makefile                               |      4 +-
 real/hidden/MyIO.hs                                |      8 +-
 real/hidden/hidden.stderr                          |     76 +
 real/hidden/hidden.stdout                          |    452 -
 real/hidden/hidden.stdout-x86-linux                |    454 -
 real/hidden/hidden.stdout2                         |    460 -
 real/hidden/hidden.stdout3                         |    448 -
 real/hidden/hidden.stdout4                         |    458 -
 real/hidden/hidden.stdout5                         |    458 -
 real/hpg/Main.lhs                                  |      5 +-
 real/hpg/Makefile                                  |      6 +-
 real/hpg/Utils.lhs                                 |      6 +-
 real/hpg/hpg.faststdout                            |   3162 +-
 real/hpg/hpg.slowstdout                            |    300 +
 real/hpg/hpg.stdout                                |  25744 +-
 real/infer/Main.hs                                 |     29 +-
 real/infer/infer.faststdin                         |     16 +
 real/infer/infer.faststdout                        |    200 +
 real/infer/{infer.stdin => infer.slowstdin}        |      0
 real/infer/infer.slowstdout                        |    200 +
 real/infer/infer.stdin                             |      2 +-
 real/infer/infer.stdout                            |    220 +-
 real/lift/Main.lhs                                 |     32 +-
 real/lift/Makefile                                 |      4 +
 real/lift/lift.faststdout                          |    400 +
 real/lift/lift.slowstdout                          |  20000 ++
 real/lift/lift.stdout                              |   4094 +-
 real/linear/Main.lhs                               |     15 +-
 real/linear/Makefile                               |      3 +
 real/linear/linear.faststdout                      |    200 +
 real/linear/linear.slowstdout                      |    200 +
 real/linear/linear.stdout                          |    256 +-
 real/maillist/Main.hs                              |      8 +-
 real/maillist/Makefile                             |      3 +
 real/maillist/maillist.faststdout                  |    600 +
 real/maillist/maillist.slowstdout                  |    600 +
 real/maillist/maillist.stdin                       |      1 -
 real/maillist/maillist.stdout                      |    596 +-
 real/maillist/runtime_files/fast                   |      4 +
 real/maillist/runtime_files/norm                   |    584 +
 real/maillist/runtime_files/{addresses => slow}    |      0
 real/mkhprog/Main.lhs                              |     17 +-
 real/mkhprog/Makefile                              |      9 +-
 real/mkhprog/mkhprog.stdout                        |    113 -
 real/parser/Main.hs                                |     24 +-
 real/parser/Makefile                               |      3 -
 real/parser/parser.faststdin                       |     40 +
 real/parser/parser.faststdout                      |    500 +
 real/parser/{big_big_test.hs => parser.slowstdin}  |      0
 real/parser/parser.slowstdout                      |    500 +
 real/parser/parser.stdin                           |    297 +
 real/parser/parser.stdout                          |    508 +-
 real/pic/Main.hs                                   |     26 +-
 real/pic/Makefile                                  |      6 +
 real/pic/pic.stderr                                |      1 -
 real/pic/pic.stdin                                 |      1 -
 real/pic/pic.stdout                                |      1 -
 real/pic/pic.stdout-linux                          |      1 -
 real/pic/pic.stdout-linux2                         |      1 -
 real/pic/pic.stdout-mingw                          |      1 -
 real/pic/pic.stdout1                               |      1 -
 real/pic/pic.stdout3                               |      1 -
 real/pic/pic.stdout4                               |      1 -
 real/prolog/Main.hs                                |     25 +-
 real/prolog/{prolog.stdin => prolog.faststdin}     |      0
 real/prolog/prolog.faststdout                      |    203 +
 real/prolog/prolog.slowstdin                       |   1203 +
 real/prolog/prolog.slowstdout                      |    203 +
 real/prolog/prolog.stdin                           |    252 +-
 real/prolog/prolog.stdout                          |    279 +-
 real/reptile/Main.hs                               |     43 +-
 real/reptile/reptile.faststdin                     |      1 +
 real/reptile/reptile.faststdout                    |    500 +
 real/reptile/reptile.slowstdin                     |     66 +
 real/reptile/reptile.slowstdout                    |    500 +
 real/reptile/reptile.stdout                        |    507 +-
 real/rsa/Main.hs                                   |     24 +-
 real/rsa/rsa.faststdin                             |      7 +
 real/rsa/rsa.faststdout                            |    100 +
 real/rsa/rsa.slowstdin                             |    377 +
 real/rsa/rsa.slowstdout                            |    100 +
 real/rsa/rsa.stdin                                 |   3493 -
 real/rsa/rsa.stdout                                |   1443 +-
 real/scs/Makefile                                  |      4 +-
 real/symalg/Print.hs                               |      7 +-
 real/symalg/symalg.faststdin                       |    262 +-
 real/symalg/symalg.faststdout                      |    266 +-
 real/symalg/symalg.slowstdin                       |    263 +
 real/symalg/symalg.slowstdout                      |    264 +
 real/symalg/symalg.stdin                           |    262 +-
 real/symalg/symalg.stdout                          |    266 +-
 real/veritas/Main.hs                               |     22 +-
 real/veritas/Makefile                              |      7 +
 real/veritas/veritas.faststdout                    |    400 +
 real/veritas/veritas.slowstdout                    |  20000 ++
 real/veritas/veritas.stdout                        |    Bin 1391 -> 80000 bytes
 shootout/binary-trees/Main.hs                      |     28 +-
 shootout/binary-trees/Makefile                     |      9 +-
 shootout/binary-trees/binary-trees.faststdout      |     97 +-
 shootout/binary-trees/binary-trees.slowstdout      |    491 +-
 shootout/binary-trees/binary-trees.stdout          |    359 +-
 shootout/fannkuch-redux/Makefile                   |      9 +-
 shootout/fannkuch-redux/fannkuch-redux.slowstdout  |      2 -
 shootout/fasta/Makefile                            |      4 +-
 shootout/k-nucleotide/Makefile                     |      9 +-
 shootout/k-nucleotide/k-nucleotide.faststdout      |     50 +-
 shootout/k-nucleotide/k-nucleotide.slowstdout      |     18 +-
 shootout/k-nucleotide/k-nucleotide.stdout          |     40 +-
 shootout/n-body/Makefile                           |      8 +-
 shootout/pidigits/Makefile                         |      8 +-
 shootout/pidigits/pidigits.faststdout              |    150 +
 shootout/pidigits/pidigits.slowstdout              |   1200 +
 shootout/pidigits/pidigits.stdout                  |    300 +
 shootout/reverse-complement/Makefile               |     16 +-
 shootout/spectral-norm/Makefile                    |      4 +-
 shootout/spectral-norm/spectral-norm.faststdout    |      2 +-
 spectral/ansi/Makefile                             |      6 +-
 spectral/ansi/ansi.faststdout                      |      1 +
 spectral/ansi/ansi.slowstdout                      |      2 +-
 spectral/ansi/ansi.stdout                          |      2 +-
 spectral/ansi/{ansi.slowstdout => blub}            |      2 +-
 spectral/atom/Makefile                             |      6 +-
 spectral/atom/atom.faststdout                      |    600 +
 spectral/atom/{atom.stdout => atom.slowstdout}     |   2000 +
 spectral/atom/atom.stdout                          |    500 +
 spectral/awards/Main.hs                            |     17 +-
 spectral/awards/Makefile                           |     31 +-
 spectral/awards/awards.faststdout                  |   2000 +
 spectral/awards/awards.stdout                      |      1 -
 spectral/banner/Main.hs                            |      4 +-
 spectral/banner/Makefile                           |     34 +
 .../banner/{banner.stdin => banner.stdin.template} |      0
 spectral/banner/banner.stdout                      |      6 -
 spectral/banner/banner.stdout.template             |     12 +
 spectral/boyer/Main.lhs                            |      3 +-
 spectral/boyer/Makefile                            |      6 +-
 spectral/boyer/boyer.faststdout                    |    100 +
 spectral/boyer/boyer.slowstdout                    |    100 +
 spectral/boyer/boyer.stdout                        |     99 +
 spectral/boyer2/Main.hs                            |     30 +-
 spectral/boyer2/Makefile                           |      3 +
 spectral/boyer2/boyer2.faststdout                  |     60 +
 spectral/boyer2/boyer2.slowstdout                  |   3000 +
 spectral/boyer2/boyer2.stdout                      |    599 +
 spectral/calendar/Main.hs                          |     24 +-
 spectral/calendar/Makefile                         |      6 +-
 .../{calendar.slowstdout => calendar.faststdout}   |   1000 -
 spectral/calendar/calendar.slowstdout              |  48000 ++++
 spectral/calendar/calendar.stdout                  |   9999 +
 spectral/cichelli/Auxil.hs                         |      6 +-
 spectral/cichelli/Main.hs                          |     12 +-
 spectral/cichelli/Makefile                         |      3 +
 spectral/cichelli/Prog.hs                          |     12 +-
 spectral/cichelli/cichelli.faststdout              |      1 +
 spectral/cichelli/cichelli.slowstdout              |      1 +
 spectral/cichelli/cichelli.stdout                  |      2 +-
 spectral/circsim/Main.lhs                          |      6 +-
 spectral/circsim/Makefile                          |      6 +-
 spectral/circsim/circsim.faststdout                |     98 +-
 spectral/circsim/circsim.slowstdout                |     98 +-
 spectral/circsim/circsim.stdout                    |     98 +-
 spectral/clausify/Main.hs                          |      3 +-
 spectral/clausify/Makefile                         |      6 +-
 spectral/clausify/clausify.faststdout              |     60 +
 spectral/clausify/clausify.slowstdout              |   2345 +
 spectral/clausify/clausify.stdout                  |    269 +
 spectral/constraints/Main.hs                       |     13 +-
 spectral/constraints/Makefile                      |      7 +-
 spectral/constraints/constraints.faststdout        |   1205 +-
 spectral/constraints/constraints.slowstdout        |   1200 +
 spectral/constraints/constraints.stdout            |   1205 +-
 spectral/cryptarithm1/Main.hs                      |     16 +-
 spectral/cryptarithm1/Makefile                     |      3 +
 ...cryptarithm1.stdout => cryptarithm1.faststdout} |      0
 spectral/cryptarithm1/cryptarithm1.slowstdout      |     15 +
 spectral/cryptarithm1/cryptarithm1.stdout          |      2 +
 spectral/cryptarithm2/Main.hs                      |     20 +-
 spectral/cryptarithm2/Makefile                     |      4 +
 spectral/cryptarithm2/cryptarithm2.faststdout      |    300 +
 spectral/cryptarithm2/cryptarithm2.slowstdout      |  15000 ++
 spectral/cryptarithm2/cryptarithm2.stdout          |   2990 +
 spectral/cse/Main.hs                               |     34 +-
 spectral/cse/Makefile                              |      3 +
 .../soda7.stdout => spectral/cse/cse.faststdout    |      0
 .../soda7.stdout => spectral/cse/cse.slowstdout    |      0
 spectral/cse/cse.stdout                            |    221 -
 spectral/eliza/Main.hs                             |     22 +-
 spectral/eliza/Makefile                            |      3 +
 spectral/eliza/eliza.faststdout                    |   1300 +
 spectral/eliza/eliza.slowstdout                    |  65000 +++++
 spectral/eliza/eliza.stdout                        |  13032 +-
 spectral/exact-reals/Era.hs                        |      6 +-
 spectral/exact-reals/Makefile                      |      3 +
 spectral/expert/Main.hs                            |     20 +-
 spectral/expert/Makefile                           |      4 +
 spectral/expert/expert.faststdout                  |   1000 +
 spectral/expert/expert.slowstdout                  |  50000 ++++
 spectral/expert/expert.stdout                      |  10016 +-
 spectral/fft2/Main.lhs                             |      7 +-
 spectral/fft2/Makefile                             |      6 +-
 spectral/fft2/fft2.stdout                          |      1 -
 spectral/fibheaps/Main.lhs                         |      6 +-
 spectral/fibheaps/Makefile                         |      6 +-
 spectral/fibheaps/fibheaps.stdout                  |      1 -
 spectral/fish/Main.hs                              |      9 +-
 spectral/fish/Makefile                             |      3 +
 spectral/fish/fish.stdout                          |   9345 -
 spectral/gcd/Makefile                              |      6 +-
 spectral/gcd/gcd.faststdout                        |      2 +-
 spectral/gcd/gcd.slowstdout                        |      1 +
 spectral/gcd/gcd.stdout                            |      2 +-
 spectral/hartel/comp_lab_zift/Main.hs              |      5 +-
 spectral/hartel/comp_lab_zift/Makefile             |      6 +-
 .../hartel/comp_lab_zift/comp_lab_zift.faststdout  |    101 +-
 .../hartel/comp_lab_zift/comp_lab_zift.slowstdout  |    100 +
 spectral/hartel/comp_lab_zift/comp_lab_zift.stdout |    101 +-
 spectral/hartel/event/Main.hs                      |      5 +-
 spectral/hartel/event/Makefile                     |      6 +-
 spectral/hartel/event/event.faststdout             |    100 +
 spectral/hartel/event/event.slowstdout             |    100 +
 spectral/hartel/event/event.stdout                 |     99 +
 spectral/hartel/fft/Main.hs                        |      5 +-
 spectral/hartel/fft/Makefile                       |      6 +-
 spectral/hartel/fft/fft.faststdout                 |    361 +-
 spectral/hartel/fft/fft.slowstdout                 |    360 +
 spectral/hartel/fft/fft.stdout                     |    361 +-
 spectral/hartel/genfft/Main.hs                     |      5 +-
 spectral/hartel/genfft/Makefile                    |      6 +-
 spectral/hartel/genfft/genfft.faststdout           |    301 +-
 spectral/hartel/genfft/genfft.slowstdout           |    300 +
 spectral/hartel/genfft/genfft.stdout               |    301 +-
 spectral/hartel/ida/Main.hs                        |      7 +-
 spectral/hartel/ida/Makefile                       |     11 +-
 spectral/hartel/ida/ida.faststdout                 |   3002 +-
 spectral/hartel/ida/ida.slowstdout                 |   6000 +
 spectral/hartel/ida/ida.stdout                     |   1202 +-
 spectral/hartel/listcompr/Main.hs                  |      6 +-
 spectral/hartel/listcompr/Makefile                 |      7 +-
 spectral/hartel/listcompr/listcompr.faststdout     |      1 +
 spectral/hartel/listcompr/listcompr.slowstdout     |      1 +
 spectral/hartel/listcompr/listcompr.stdout         |  20001 +-
 spectral/hartel/listcopy/Main.hs                   |      6 +-
 spectral/hartel/listcopy/Makefile                  |      7 +-
 spectral/hartel/listcopy/listcopy.faststdout       |      1 +
 spectral/hartel/listcopy/listcopy.slowstdout       |      1 +
 spectral/hartel/listcopy/listcopy.stdout           |  20001 +-
 spectral/hartel/nucleic2/Main.hs                   |     16 +-
 spectral/hartel/nucleic2/Makefile                  |      3 +
 spectral/hartel/nucleic2/nucleic2.stdout1          |      1 -
 spectral/hartel/nucleic2/nucleic2.stdout2          |      1 -
 spectral/hartel/nucleic2/nucleic2.stdout3          |      1 -
 spectral/hartel/nucleic2/nucleic2.stdout4          |      1 -
 spectral/hartel/nucleic2/nucleic2.stdout5          |      1 -
 spectral/hartel/nucleic2/nucleic2.stdout6          |      1 -
 spectral/hartel/parstof/Main.hs                    |     17 +-
 spectral/hartel/parstof/Makefile                   |      7 +-
 spectral/hartel/parstof/parstof.faststdout         |    200 +
 spectral/hartel/parstof/parstof.slowstdout         |    200 +
 spectral/hartel/parstof/parstof.stdout             |    201 +-
 spectral/hartel/sched/Main.hs                      |      7 +-
 spectral/hartel/sched/Makefile                     |      6 +-
 spectral/hartel/sched/sched.faststdout             |    201 +-
 spectral/hartel/sched/sched.slowstdout             |    500 +
 spectral/hartel/sched/sched.stdout                 |    101 +-
 spectral/hartel/solid/Main.hs                      |      5 +-
 spectral/hartel/solid/Makefile                     |      6 +-
 spectral/hartel/solid/solid.faststdout             |   1990 +-
 spectral/hartel/solid/solid.slowstdout             |   4776 +-
 spectral/hartel/solid/solid.stdout                 |   3582 +-
 spectral/hartel/transform/Makefile                 |      6 +-
 spectral/hartel/transform/transform.faststdout     |      2 +-
 spectral/hartel/transform/transform.slowstdout     |      1 +
 spectral/hartel/transform/transform.stdout         |      2 +-
 spectral/hartel/typecheck/Makefile                 |      6 +-
 spectral/hartel/typecheck/typecheck.faststdout     |      2 +-
 spectral/hartel/typecheck/typecheck.slowstdout     |      1 +
 spectral/hartel/typecheck/typecheck.stdout         |      2 +-
 spectral/hartel/wang/Main.hs                       |      5 +-
 spectral/hartel/wang/Makefile                      |      6 +-
 spectral/hartel/wang/wang.faststdout               |    501 +-
 spectral/hartel/wang/wang.slowstdout               |    500 +
 spectral/hartel/wang/wang.stdout                   |    501 +-
 spectral/hartel/wave4main/Main.hs                  |      5 +-
 spectral/hartel/wave4main/Makefile                 |      6 +-
 spectral/hartel/wave4main/wave4main.faststdout     |    501 +-
 spectral/hartel/wave4main/wave4main.slowstdout     |    500 +
 spectral/hartel/wave4main/wave4main.stdout         |    501 +-
 spectral/integer/Makefile                          |      6 +-
 spectral/knights/Main.lhs                          |      5 +-
 spectral/knights/Makefile                          |      6 +-
 spectral/knights/knights.faststdout                |    130 +-
 spectral/knights/knights.slowstdout                |    404 +-
 spectral/knights/knights.stdout                    |    138 +-
 spectral/lambda/Main.hs                            |      3 +-
 spectral/lambda/Makefile                           |      7 +-
 spectral/lambda/lambda.faststdout                  |    200 +
 spectral/lambda/lambda.slowstdout                  |    200 +
 spectral/lambda/lambda.stdout                      |    202 +-
 spectral/lcss/Main.hs                              |      3 +-
 spectral/lcss/Makefile                             |      6 +-
 spectral/lcss/lcss.faststdout                      |    501 +-
 spectral/lcss/lcss.slowstdout                      |    500 +
 spectral/lcss/lcss.stdout                          |    501 +-
 spectral/life/Main.hs                              |     16 +-
 spectral/life/Makefile                             |      3 +
 spectral/life/life.faststdout                      |    250 +
 spectral/life/life.slowstdout                      |    250 +
 spectral/life/life.stdout                          |    282 +-
 spectral/mandel/Main.hs                            |     33 +
 spectral/mandel/Main.lhs                           |     37 -
 spectral/mandel/Makefile                           |      7 +-
 spectral/mandel/mandel.slowstdin                   |      7 -
 spectral/mandel/mandel.slowstdout                  |    Bin 67602 -> 0 bytes
 spectral/mandel/mandel.stderr                      |      1 -
 spectral/mandel/mandel.stdin                       |      7 -
 spectral/mandel/mandel.stdout                      |    Bin 67601 -> 0 bytes
 spectral/mandel/mandel.stdout-mingw                |    Bin 67693 -> 0 bytes
 spectral/mandel2/Main.hs                           |     16 +-
 spectral/mandel2/Makefile                          |      3 +
 spectral/mandel2/mandel2.stdout                    |      1 -
 spectral/mate/Main.hs                              |      0
 spectral/mate/Makefile                             |      4 +-
 spectral/mate/mate.faststdout                      |     20 +
 spectral/mate/{mate.stdout => mate.slowstdout}     |      0
 spectral/mate/mate.stdout                          |     70 +-
 spectral/minimax/Main.hs                           |      8 +-
 spectral/minimax/Makefile                          |      3 +
 spectral/minimax/Prog.hs                           |      6 +-
 spectral/minimax/minimax.stdout                    |     36 -
 spectral/multiplier/Makefile                       |      6 +-
 .../{multiplier.stdout => multiplier.faststdout}   |      0
 .../{multiplier.stdout => multiplier.slowstdout}   |      0
 spectral/para/Main.lhs                             |     14 +-
 spectral/para/Makefile                             |      5 +-
 spectral/para/para.stdout                          |  17253 --
 spectral/power/Main.hs                             |     17 +-
 spectral/power/Makefile                            |      6 +-
 spectral/power/power.faststdout                    |      4 -
 spectral/power/power.stdout                        |      4 -
 spectral/primetest/primetest.faststdin             |      4 +
 spectral/primetest/primetest.faststdout            |      2 +-
 spectral/primetest/primetest.slowstdin             |    300 +
 spectral/primetest/primetest.slowstdout            |      1 +
 spectral/primetest/primetest.stdin                 |     30 +
 spectral/primetest/primetest.stdout                |      2 +-
 spectral/puzzle/Main.hs                            |     21 +-
 spectral/puzzle/Makefile                           |      3 +
 spectral/puzzle/puzzle.stdout                      |     86 -
 spectral/rewrite/Makefile                          |      6 +-
 spectral/simple/Main.hs                            |     21 +-
 spectral/simple/Makefile                           |      4 +
 spectral/simple/simple.stdin                       |      1 -
 spectral/simple/simple.stdout                      |      2 +-
 spectral/simple/simple.stdout-linux                |      2 +-
 spectral/simple/simple.stdout1                     |      2 +-
 spectral/simple/simple.stdout2                     |      2 +-
 spectral/simple/simple.stdout3                     |      2 +-
 spectral/simple/simple.stdout4                     |      2 +-
 spectral/simple/simple.stdout5                     |      2 +-
 spectral/simple/simple.stdout6                     |      2 +-
 spectral/sorting/Main.hs                           |     40 +-
 spectral/sorting/Makefile                          |      5 +-
 spectral/sorting/sorting.faststdout                |    600 +
 spectral/sorting/sorting.slowstdout                |   3000 +
 spectral/sorting/sorting.stdout                    |    740 +-
 spectral/sphere/Main.lhs                           |     39 +-
 spectral/sphere/Makefile                           |      6 +-
 spectral/sphere/sphere.faststdout                  |  10103 +-
 spectral/sphere/sphere.slowstdout                  |    100 +
 spectral/sphere/sphere.stdout                      | 250103 +-----------------
 spectral/treejoin/Main.hs                          |      3 +-
 spectral/treejoin/Makefile                         |      3 +
 spectral/treejoin/runtime_files/1500.1             |   1500 +
 spectral/treejoin/runtime_files/1500.2             |   1500 +
 spectral/treejoin/runtime_files/8000.1             |   8000 +
 spectral/treejoin/runtime_files/8000.2             |   8000 +
 spectral/treejoin/treejoin.faststdout              |    100 +
 spectral/treejoin/treejoin.slowstdout              |    100 +
 spectral/treejoin/treejoin.stdout                  |     99 +
 497 files changed, 438382 insertions(+), 623487 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 651416b0b3194f3d3e378125234d948389ce1333


More information about the ghc-commits mailing list