
#10829: Simplification in the RHS of rules -------------------------------------+------------------------------------- Reporter: afarmer | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.10.3 Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 10528 | Differential Revisions: D1246 -------------------------------------+------------------------------------- Changes (by afarmer): * differential: => D1246 Comment: Alright, I used the 7.10.2 branch and cherry picked bc4b64ca5b99bff6b3d5051b57cb2bc52bd4c841 (SPJ's "Do not inline or apply rules on LHS of rules") as my nofib base. My patch is in D1246. I used the following nofib command: {{{ make clean && make boot && make -k mode=slow 2>&1 NoFibRuns=30 }}} (as an aside, what does the `-k` do? It was recommended without comment on the nofib wiki page) Full nofib results are attached. To summarize, there was more of a change than I expected, but it seems positive, which was also unexpected. See below for Runtime/Elapsed/Total Mem. Binary Sizes and Allocations were unchanged. Average compile time dropped 3.1%, which was also surprising. Given the surprises, I'm going to re-run on another machine just to check. I didn't dig into any of the outliers to see what the Core looked like. Programs with more than 1% change: {{{ -------------------------------------------------------------------------------- Program Size Allocs Runtime Elapsed TotalMem -------------------------------------------------------------------------------- ansi 0.0% 0.0% -1.3% -1.3% 0.0% binary-trees 0.0% 0.0% -3.1% -3.2% 0.0% cacheprof 0.0% -0.1% -2.6% -2.7% +2.2% fannkuch-redux 0.0% 0.0% -1.5% -1.5% 0.0% fasta 0.0% 0.0% -2.3% -2.4% 0.0% fibheaps 0.0% 0.0% -2.5% -2.5% 0.0% fulsom 0.0% 0.0% 0.181 -6.2% -0.2% hidden 0.0% 0.0% -2.2% -2.6% 0.0% ida 0.0% 0.0% +2.4% +2.4% 0.0% knights 0.0% 0.0% -6.4% -6.4% 0.0% maillist 0.0% +0.0% 0.050 +1.8% +1.0% multiplier 0.0% 0.0% -1.4% -1.5% 0.0% n-body 0.0% 0.0% -2.9% -3.0% 0.0% pidigits 0.0% 0.0% -3.5% -3.7% 0.0% power 0.0% 0.0% -2.0% -2.1% 0.0% primes 0.0% 0.0% -1.7% -1.6% 0.0% queens 0.0% 0.0% +1.9% +1.8% 0.0% reverse-complem 0.0% 0.0% -2.2% -2.9% 0.0% scs 0.0% 0.0% -5.1% -5.2% 0.0% wang 0.0% 0.0% +1.3% +1.4% 0.0% -------------------------------------------------------------------------------- Min 0.0% -0.1% -6.4% -6.4% -0.2% Max 0.0% +0.0% +2.4% +2.4% +2.2% Geometric Mean -0.0% -0.0% -0.8% -0.8% +0.0% }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10829#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler