Hi Nicolas!<div><br></div><div>I tried to reproduce the difference between 7.0.4 and 7.6.2 on the exp3_8, wheel-sieve1, and primes and couldn't get the same percent difference as you. We need to reconcile these differences somehow. Lets start with more exact machine specs. I have a:<br>
</div><div><br></div><div>$ cat /proc/cpuinfo</div><div><div>processor<span class="Apple-tab-span" style="white-space:pre">        </span>: 7</div><div>vendor_id<span class="Apple-tab-span" style="white-space:pre">        </span>: GenuineIntel</div>
<div>cpu family<span class="Apple-tab-span" style="white-space:pre">        </span>: 6</div><div>model<span class="Apple-tab-span" style="white-space:pre">                </span>: 58</div><div>model name<span class="Apple-tab-span" style="white-space:pre">        </span>: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz</div>
<div>stepping<span class="Apple-tab-span" style="white-space:pre">        </span>: 9</div><div>microcode<span class="Apple-tab-span" style="white-space:pre">        </span>: 0x12</div><div>cpu MHz<span class="Apple-tab-span" style="white-space:pre">                </span>: 1600.000</div>
<div>cache size<span class="Apple-tab-span" style="white-space:pre">        </span>: 8192 KB</div><div>...</div></div><div><br></div><div><div>$ uname -a</div><div>Linux <a href="http://johantibell.com">johantibell.com</a> 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux</div>
</div><div><br></div><div>And GHC versions:</div><div><br></div><div><div>$ ghc-7.0.4 --info</div><div> [("Project name","The Glorious Glasgow Haskell Compilation System")</div><div> ,("Project version","7.0.4")</div>
<div> ,("Booter version","6.12.1")</div><div> ,("Stage","2")</div><div> ,("Build platform","x86_64-unknown-linux")</div><div> ,("Host platform","x86_64-unknown-linux")</div>
<div> ,("Target platform","x86_64-unknown-linux")</div><div> ,("Have interpreter","YES")</div><div> ,("Object splitting","YES")</div><div> ,("Have native code generator","YES")</div>
<div> ,("Have llvm code generator","YES")</div><div> ,("Support SMP","YES")</div><div> ,("Unregisterised","NO")</div><div> ,("Tables next to code","YES")</div>
<div> ,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn")</div><div> ,("Leading underscore","NO")</div><div> ,("Debug on","False")</div>
<div> ,("LibDir","/usr/local/lib/ghc-7.0.4")</div><div> ,("Global Package DB","/usr/local/lib/ghc-7.0.4/package.conf.d")</div><div> ,("C compiler flags","[\"-fno-stack-protector\"]")</div>
<div> ,("Gcc Linker flags","[]")</div><div> ,("Ld Linker flags","[]")</div><div> ]</div></div><div><br></div><div><div>$ ghc-7.6.2 --info</div><div> [("Project name","The Glorious Glasgow Haskell Compilation System")</div>
<div> ,("GCC extra via C opts"," -fwrapv")</div><div> ,("C compiler command","/usr/bin/gcc")</div><div> ,("C compiler flags"," -fno-stack-protector ")</div><div>
,("ar command","/usr/bin/ar")</div><div> ,("ar flags","q")</div><div> ,("ar supports at file","@ArSupportsAtFile@")</div><div> ,("touch command","touch")</div>
<div> ,("dllwrap command","/bin/false")</div><div> ,("windres command","/bin/false")</div><div> ,("perl command","/usr/bin/perl")</div><div> ,("target os","OSLinux")</div>
<div> ,("target arch","ArchX86_64")</div><div> ,("target word size","8")</div><div> ,("target has GNU nonexec stack","True")</div><div> ,("target has .ident directive","True")</div>
<div> ,("target has subsections via symbols","False")</div><div> ,("LLVM llc command","llc")</div><div> ,("LLVM opt command","opt")</div><div> ,("Project version","7.6.2")</div>
<div> ,("Booter version","7.4.1")</div><div> ,("Stage","2")</div><div> ,("Build platform","x86_64-unknown-linux")</div><div> ,("Host platform","x86_64-unknown-linux")</div>
<div> ,("Target platform","x86_64-unknown-linux")</div><div> ,("Have interpreter","YES")</div><div> ,("Object splitting supported","YES")</div><div> ,("Have native code generator","YES")</div>
<div> ,("Support SMP","YES")</div><div> ,("Unregisterised","NO")</div><div> ,("Tables next to code","YES")</div><div> ,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn")</div>
<div> ,("Leading underscore","NO")</div><div> ,("Debug on","False")</div><div> ,("LibDir","/usr/local/lib/ghc-7.6.2")</div><div> ,("Global Package DB","/usr/local/lib/ghc-7.6.2/package.conf.d")</div>
<div> ,("Gcc Linker flags","[\"-Wl,--hash-size=31\",\"-Wl,--reduce-memory-overheads\"]")</div><div> ,("Ld Linker flags","[\"--hash-size=31\",\"--reduce-memory-overheads\"]")</div>
<div> ]</div></div><div><br></div><div>I ran the benchmarks by running e.g.:</div><div><br></div><div>$ cd nofib/imaginary/sieve-wheel1</div><div>$ make clean && make boot <span style="background-color:rgb(247,247,247);font-size:13px">WithNofibHc=ghc-${VERSION} && make </span><span style="background-color:rgb(247,247,247);font-size:13px">WithNofibHc=ghc-${VERSION}</span></div>
<div><span style="background-color:rgb(247,247,247);font-size:13px"><br></span></div><div><span style="background-color:rgb(247,247,247);font-size:13px">Could you please try to run the "imaginary" benchmarks using exactly these commands and report the difference you see between 7.0.4 and 7.6.2. Here's what I see. 7.0.4 vs 7.6.2:</span></div>
<div><span style="background-color:rgb(247,247,247);font-size:13px"><br></span></div><div><span style="background-color:rgb(247,247,247);font-size:13px"><div><font face="courier new, monospace">--------------------------------------------------------------------------------</font></div>
<div><font face="courier new, monospace"> Program Size Allocs Runtime Elapsed TotalMem</font></div><div><font face="courier new, monospace">--------------------------------------------------------------------------------</font></div>
<div><font face="courier new, monospace"> bernouilli +3.3% +0.2% 0.12 0.13 +0.0%</font></div><div><font face="courier new, monospace"> exp3_8 +1.1% +53.7% 0.14 0.14 +300.0%</font></div>
<div><font face="courier new, monospace"> gen_regexps +18.7% +3.9% 0.00 0.00 +0.0%</font></div><div><font face="courier new, monospace"> integrate -0.1% +39.0% 0.21 0.23 +0.0%</font></div>
<div><font face="courier new, monospace"> kahan +1.7% +98.6% +9.9% +7.3% +0.0%</font></div><div><font face="courier new, monospace"> paraffins +1.3% -1.2% 0.06 0.08 +0.0%</font></div>
<div><font face="courier new, monospace"> primes +1.4% +64.7% 0.04 0.05 +50.0%</font></div><div><font face="courier new, monospace"> queens +0.8% -0.5% 0.02 0.02 +0.0%</font></div>
<div><font face="courier new, monospace"> rfib +1.7% +42.8% 0.02 0.02 +0.0%</font></div><div><font face="courier new, monospace"> tak +0.9% +12.0% 0.01 0.01 +0.0%</font></div>
<div><font face="courier new, monospace"> wheel-sieve1 +0.8% +66.6% -4.6% -5.8% -12.5%</font></div><div><font face="courier new, monospace"> wheel-sieve2 +0.9% +0.0% 0.12 0.13 +0.0%</font></div>
<div><font face="courier new, monospace"> x2n1 +10.3% +87.3% 0.00 0.01 +200.0%</font></div><div><font face="courier new, monospace">--------------------------------------------------------------------------------</font></div>
<div><font face="courier new, monospace"> Min -0.1% -1.2% -4.6% -5.8% -12.5%</font></div><div><font face="courier new, monospace"> Max +18.7% +98.6% +9.9% +7.3% +300.0%</font></div>
<div><font face="courier new, monospace"> Geometric Mean +3.2% +31.7% +2.4% +0.5% +23.6%</font></div><div><br></div><div>-- Johan</div><div><br></div></span></div><div><span style="background-color:rgb(247,247,247);font-size:13px"><br>
</span></div><div><span style="background-color:rgb(247,247,247);font-size:13px"><br></span></div>