Hi,

perf.haskell.org has built all but the last patch in this sequence, so
I can now see what it has to say about where the performance changes
came from:

Am Freitag, den 17.02.2017, 16:41 +0000 schrieb Simon Peyton Jones via
ghc-devs:
> So I  have ended up a with a whole series of patches, which are on
> wip/spj-early-inline branch
> 7f14d15c0e5fc2c9a81db3d0f0b01d85857b1d87 Error message wibbles accumulated 
> from the preceding patches

Not built yet, but probably not interesting.

> 0499c65d9fa45e7879e1e1264fdaa15274adcba6 Improve SetLevels for join points
nofib/time/hidden       0.376   + 5.59%         0.397   s
econds

> 3b2fc0827ff6cafa34836c2d9dc710b628c990b6 Change -ddump-tc-trace output in 
> TcErrors, slightly
no change

> 9ffdf62b0ca72c4f35579f9d6f31a9beebf23025 Improve pretty-printing of types
no change

> 3f346eac06399a79adf48425018ee949cee245bf Add VarSet.anyDVarSet, allDVarSet
no change

> 912e71eb3b4ec91e805ecf2236d1033e55e2933a The Early Inline Patch


> 7188cd13f8e54efa764d52ca016b87b3669b29f5 Small changes to expression sizing 
> in CoreUnfold
> bfc6fa3f377d11bdfcdbf82b65bf2f39cb00b90c Fix SetLevels for makeStaticPtr
> 8b1cfea089faacb5b95ffcc3511e05faeabb8076 Extend CSE to handle recursive 
> bindings
> 50411995641802568bb27c867afe804f91e0524c Combine identical case alterantives 
> in CSE
> 2e077ccc736a0b2a622b7f42b7929966bddb4ded Inline data constructor wrappers in 
> phase 2 only
> b868de53dd19f639c1070089ecff21948ff33e0d Make Specialise work with casts
> c767ae5f04a09ef71dcb8f67a17225a52c2cc5d2 Stop uniques ending up in SPEC rule 
> names
> b49ed1f0102f93ca7f62632c436b41bd240b501f Occurrence-analyse the result of 
> rule firings
> 607a735dfb99bb8f0edf466ccb01e732218c42ec Add -fspec-constr-keen
> 67a0c1872c0515f1f12ea68097a84e02da92f45b Refactor floating of bindings 
> (fiBind)
These patches cannot be distinguished because all but the last one
failed to build:

    compiler/simplCore/SimplCore.hs:435:48: error:
                • Couldn't match type ‘CoreM ModGuts’
                                 with ‘CoreProgram -> CoreProgram’
                  Expected type: DynFlags -> CoreProgram -> CoreProgram
                    Actual type: ModGuts -> CoreM ModGuts
                • In the first argument of ‘doPassD’, namely ‘floatInwards’
                  In the expression: doPassD floatInwards
                  In the expression:
                    {-# SCC "FloatInwards" #-} (doPassD floatInwards)
    
https://github.com/nomeata/ghc-speed-logs/blob/ae1b6dcd32fd2c8578ef3eee4c6f8926d845cb97/bfc6fa3f377d11bdfcdbf82b65bf2f39cb00b90c.log.broken

The overall effect of this patch was (as you already know):

nofib/time/binary-trees         0.751   - 4.79%         0.715   
seconds
nofib/time/fannkuch-redux       4.751   - 3.85%         4.568   
seconds
nofib/time/integer              1.276   + 19.04%        1.519   
seconds

all sizes increase by 3 or 4%.

tests/alloc/T10547      32406096        - 4.48%         30953160        bytes
tests/alloc/T10858      259699544       - 4.94%         246866000       bytes
tests/alloc/T12227      1654153320      - 35.87%        1060777528      bytes
tests/alloc/T12234      75197448        - 7.02%         69918192        bytes
tests/alloc/T12707      1309049328      - 5.06%         1242803272      bytes
tests/alloc/T13035      90082344        - 4.04%         86438544        bytes
tests/alloc/T13056      512447048       - 20.21%        408873760       bytes
tests/alloc/T1969       756392264       - 19%           612713624       bytes
tests/alloc/T3064       287429088       - 8.9%          261860968       bytes
tests/alloc/T3294       2715661784      - 3.51%         2620404344      bytes
tests/alloc/T4801       412672008       - 5.77%         388841920       bytes
tests/alloc/T5321FD     470413728       - 3.67%         453148744       bytes
tests/alloc/T5321Fun    500839840       - 3.11%         485276616       bytes
tests/alloc/T5642       836251056       - 5.19%         792875648       bytes
tests/alloc/T5837       51684016        - 3.97%         49631216        bytes
tests/alloc/T6048       98489944        + 3.4%          101835168       bytes
tests/alloc/T783        462334328       - 5.21%         438237272       bytes
tests/alloc/T9020       775878448       - 35.27%        502248184       bytes
tests/alloc/T9872a      3136944168      - 6.81%         2923428352      bytes
tests/alloc/T9872b      3964092608      - 5.85%         3732226832      bytes
tests/alloc/T9872c      3603773864      - 5.49%         3405843000      bytes
tests/alloc/T9872d      466420232       - 5.1%          442644168       bytes
tests/alloc/T9961       575612760       - 13.15%        499917080       bytes
tests/alloc/lazy-bs-all 436680          - 3.77%         420224  bytes
tests/alloc/parsing001  499038992       - 6.77%         465237088       bytes
tests/alloc/T10547      32406096        - 4.48%         30953160        bytes
tests/alloc/T10858      259699544       - 4.94%         246866000       bytes
tests/alloc/T12227      1654153320      - 35.87%        1060777528      bytes
tests/alloc/T12234      75197448        - 7.02%         69918192        bytes
tests/alloc/T12707      1309049328      - 5.06%         1242803272      bytes
tests/alloc/T13035      90082344        - 4.04%         86438544        bytes
tests/alloc/T13056      512447048       - 20.21%        408873760       bytes
tests/alloc/T1969       756392264       - 19%           612713624       bytes
tests/alloc/T3064       287429088       - 8.9%          261860968       bytes
tests/alloc/T3294       2715661784      - 3.51%         2620404344      bytes
tests/alloc/T4801       412672008       - 5.77%         388841920       bytes
tests/alloc/T5321FD     470413728       - 3.67%         453148744       bytes
tests/alloc/T5321Fun    500839840       - 3.11%         485276616       bytes
tests/alloc/T5642       836251056       - 5.19%         792875648       bytes
tests/alloc/T5837       51684016        - 3.97%         49631216        bytes
tests/alloc/T6048       98489944        + 3.4%          101835168       bytes
tests/alloc/T783        462334328       - 5.21%         438237272       bytes
tests/alloc/T9020       775878448       - 35.27%        502248184       bytes
tests/alloc/T9872a      3136944168      - 6.81%         2923428352      bytes
tests/alloc/T9872b      3964092608      - 5.85%         3732226832      bytes
tests/alloc/T9872c      3603773864      - 5.49%         3405843000      bytes
tests/alloc/T9872d      466420232       - 5.1%          442644168       bytes
tests/alloc/T9961       575612760       - 13.15%        499917080       bytes
tests/alloc/lazy-bs-all 436680          - 3.77%         420224  bytes
tests/alloc/parsing001  499038992       - 6.77%         465237088       bytes


> e90f4d7c6d3003039fa1647a3da3dafcaa75527b More tracing in SpecConstr
no changes.

Well, less helpful than expected, but hard to do better given a patch
series where not every patch builds.

Greetings,
Joachim
-- 
Joachim “nomeata” Breitner
  m...@joachim-breitner.de • https://www.joachim-breitner.de/
  XMPP: nome...@joachim-breitner.de • OpenPGP-Key: 0xF0FBF51F
  Debian Developer: nome...@debian.org

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to