Test performance impact (was: The dreaded M-R)

Simon Marlow simonmar at microsoft.com
Wed Feb 1 07:32:55 EST 2006


On 01 February 2006 11:42, Nils Anders Danielsson wrote:

> However, to stand on more solid ground I suggest that someone runs
> some performance tests, with and without
> -fno-monomorphism-restriction, to see whether the M-R has any great
> impact in practice. There are some performance test suites based on
> real code out there, right? Nofib?

Results below (ignore runtime differences, I was averaging over 5 runs
but most of these benchmarks run too quickly to get any reasonable
measurements).

Summary: 2 programs failed to compile due to type errors (anna, gg).
One program did 19% more allocation, a few other programs increased
allocation very slightly (<2%).

------------------------------------------------------------------------
--------
        Program           Size    Allocs   Runtime
------------------------------------------------------------------------
--------
           anna          -----     -----     -----
           ansi         +0.00%    +0.00%      0.00
           atom         +0.00%    +0.00%    -2.92%
         awards         +0.00%    +0.00%      0.00
         banner         +0.00%    +0.00%      0.00
     bernouilli         -0.23%    +0.00%    -7.44%
          boyer         +0.00%    +0.00%      0.00
         boyer2         +0.00%    +0.00%      0.01
           bspt         +0.00%    +0.00%      0.02
      cacheprof         +0.14%    +0.00%    -9.86%
       calendar         +0.00%    +0.00%      0.00
       cichelli         +0.00%    +0.00%    +0.99%
        circsim         +0.00%    +0.00%    -0.93%
       clausify         +0.00%    +0.00%      0.01
  comp_lab_zift         +0.00%    +0.00%    +1.86%
       compress         +0.00%    +0.00%    -5.58%
      compress2         +0.00%    +0.00%    -7.63%
    constraints         +0.00%    +0.00%    -9.03%
   cryptarithm1         +0.00%    +0.00%    -6.27%
   cryptarithm2         +0.00%    +0.00%      0.03
            cse         +0.00%    +0.00%      0.00
          eliza         +0.00%    +0.00%      0.00
          event         +0.00%    +0.00%    -7.04%
         exp3_8         +0.00%    +0.00%   -10.84%
         expert         +0.00%    +0.00%      0.00
            fem         +0.35%    +1.76%      0.06
            fft         +0.00%    +0.00%      0.08
           fft2         +0.00%    +0.00%      0.15
       fibheaps         +0.00%    +0.00%      0.08
           fish         +0.00%    +0.00%      0.03
          fluid         +0.12%    +0.04%      0.02
         fulsom         -0.14%    +0.00%    -2.10%
         gamteb         +2.47%    +0.56%      0.15
            gcd         +0.00%    +0.00%    -5.88%
    gen_regexps         +0.00%    +0.00%      0.00
         genfft         +0.00%    +0.00%      0.04
             gg          -----     -----     -----
           grep         +0.00%    +0.00%      0.00
         hidden         +0.00%    +0.00%   -12.48%
            hpg         +0.00%    +0.00%    -7.92%
            ida         +0.00%    +0.00%   -12.50%
          infer         +0.00%    +0.00%      0.13
        integer         +0.00%    +0.00%    -9.81%
      integrate         +0.00%    +0.00%    -5.47%
        knights         +0.19%    +0.00%      0.01
           lcss         +0.00%    +0.00%    -7.42%
           life         +0.75%    +0.00%   -16.22%
           lift         +0.00%    +0.00%      0.00
      listcompr         +0.00%    +0.00%    -9.76%
       listcopy         +0.00%    +0.00%    -8.33%
       maillist         +0.00%    +0.03%      0.06
         mandel         +0.00%    +0.00%    +0.00%
        mandel2         +0.00%    +0.00%      0.02
        minimax         +0.00%    +0.00%      0.01
        mkhprog         +0.00%    +0.00%      0.00
     multiplier         +0.00%    +0.00%   -10.43%
       nucleic2         +0.61%  (stdout)  (stdout)
           para         +0.00%    +0.00%    -2.51%
      paraffins         +0.00%    +0.00%   -10.07%
         parser         +0.00%    +0.00%      0.06
        parstof         +0.00%    +0.00%      0.01
            pic         +0.28%   +19.27%      0.02
          power         +0.29%    +0.00%   -11.62%
         pretty         +0.00%    +0.00%      0.00
         primes         +0.00%    +0.00%      0.13
      primetest         +0.00%    +0.00%    +0.77%
         prolog         +0.00%    +0.00%      0.00
         puzzle         +0.00%    +0.00%    -5.03%
         queens         +0.00%    +0.00%      0.06
        reptile         +0.00%    +0.00%      0.03
        rewrite         +0.00%    +0.00%      0.00
           rfib         +0.00%    +0.00%      0.04
            rsa         +0.00%    +0.00%      0.06
            scc         +0.00%    +0.00%      0.00
          sched         +0.00%    +0.00%      0.05
            scs         +0.54%    +0.06%   -11.14%
         simple         +1.70%    +0.00%    -4.68%
          solid         +0.00%    +0.00%    -2.03%
        sorting         +0.00%    +0.00%      0.00
         sphere         +0.06%    +0.00%    -1.74%
         symalg         +0.00%    +0.00%      0.13
            tak         +0.00%    +0.00%      0.02
      transform         +0.00%    +0.00%    -7.73%
       treejoin         +0.00%    +0.00%    -2.70%
      typecheck         +0.00%    +0.00%    -1.29%
        veritas         +0.12%    +0.00%      0.00
           wang         +0.00%    +0.00%   -18.99%
      wave4main         +0.00%    +0.00%    -9.04%
           x2n1         +0.00%    +0.00%    -2.84%
------------------------------------------------------------------------
--------
            Min         -0.23%    +0.00%   -18.99%
            Max         +2.47%   +19.27%    +1.86%
 Geometric Mean         +0.08%    +0.23%    -6.71%


More information about the Haskell-prime mailing list