Common Context transformation for join points

Joachim Breitner mail at joachim-breitner.de
Tue Dec 17 23:50:45 UTC 2013


Hi,

I created a first prototype of this optimization (branch
wip/common-context), and the results are a clear, although very small
win in some benchmarks, and no regression (ignoring the flaky
cacheprof):

--------------------------------------------------------------------------------
        Program           Size    Allocs   Runtime   Elapsed  TotalMem
--------------------------------------------------------------------------------
      cacheprof          -0.0%     +0.1%     +2.4%     +2.4%     +0.0%
       fibheaps          -0.0%     -0.3%      0.02      0.02     +0.0%
          fluid          -0.1%     -0.0%      0.01      0.01     +0.0%
         gamteb          -0.0%     -0.3%      0.04      0.04     +0.0%
            ida          -0.0%     -1.4%      0.06      0.06     +0.0%
            scs          -0.0%     -0.2%     -0.5%     -0.5%     +0.0%
         simple          -0.0%     -0.8%      0.15      0.15     +0.0%
--------------------------------------------------------------------------------
            Min          -0.1%     -1.4%     -4.5%     -4.5%     +0.0%
            Max          -0.0%     +0.1%     +3.3%     +3.3%     +6.7%
 Geometric Mean          -0.0%     -0.0%     +0.2%     +0.2%     +0.1%

I don’t have much experience with performance numbers in GHC yet, but I
guess a geometric mean of -0.0% is not something to get excited about.
Maybe in conjunction with CPR and nested CPR, there will be a combined
benefit.

Not sure why size does not go down generally, as I expected the
optimization to take code that is generated more than once, and move it
to where it is generated only once.

Greetings,
Joachim

-- 
Joachim “nomeata” Breitner
  mail at joachim-breitner.dehttp://www.joachim-breitner.de/
  Jabber: nomeata at joachim-breitner.de  • GPG-Key: 0x4743206C
  Debian Developer: nomeata at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20131218/4b70f350/attachment.sig>


More information about the ghc-devs mailing list