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&#39;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> [(&quot;Project name&quot;,&quot;The Glorious Glasgow Haskell Compilation System&quot;)</div><div> ,(&quot;Project version&quot;,&quot;7.0.4&quot;)</div>

<div> ,(&quot;Booter version&quot;,&quot;6.12.1&quot;)</div><div> ,(&quot;Stage&quot;,&quot;2&quot;)</div><div> ,(&quot;Build platform&quot;,&quot;x86_64-unknown-linux&quot;)</div><div> ,(&quot;Host platform&quot;,&quot;x86_64-unknown-linux&quot;)</div>

<div> ,(&quot;Target platform&quot;,&quot;x86_64-unknown-linux&quot;)</div><div> ,(&quot;Have interpreter&quot;,&quot;YES&quot;)</div><div> ,(&quot;Object splitting&quot;,&quot;YES&quot;)</div><div> ,(&quot;Have native code generator&quot;,&quot;YES&quot;)</div>

<div> ,(&quot;Have llvm code generator&quot;,&quot;YES&quot;)</div><div> ,(&quot;Support SMP&quot;,&quot;YES&quot;)</div><div> ,(&quot;Unregisterised&quot;,&quot;NO&quot;)</div><div> ,(&quot;Tables next to code&quot;,&quot;YES&quot;)</div>

<div> ,(&quot;RTS ways&quot;,&quot;l debug  thr thr_debug thr_l thr_p  dyn debug_dyn thr_dyn thr_debug_dyn&quot;)</div><div> ,(&quot;Leading underscore&quot;,&quot;NO&quot;)</div><div> ,(&quot;Debug on&quot;,&quot;False&quot;)</div>

<div> ,(&quot;LibDir&quot;,&quot;/usr/local/lib/ghc-7.0.4&quot;)</div><div> ,(&quot;Global Package DB&quot;,&quot;/usr/local/lib/ghc-7.0.4/package.conf.d&quot;)</div><div> ,(&quot;C compiler flags&quot;,&quot;[\&quot;-fno-stack-protector\&quot;]&quot;)</div>

<div> ,(&quot;Gcc Linker flags&quot;,&quot;[]&quot;)</div><div> ,(&quot;Ld Linker flags&quot;,&quot;[]&quot;)</div><div> ]</div></div><div><br></div><div><div>$ ghc-7.6.2 --info</div><div> [(&quot;Project name&quot;,&quot;The Glorious Glasgow Haskell Compilation System&quot;)</div>

<div> ,(&quot;GCC extra via C opts&quot;,&quot; -fwrapv&quot;)</div><div> ,(&quot;C compiler command&quot;,&quot;/usr/bin/gcc&quot;)</div><div> ,(&quot;C compiler flags&quot;,&quot; -fno-stack-protector &quot;)</div><div>

 ,(&quot;ar command&quot;,&quot;/usr/bin/ar&quot;)</div><div> ,(&quot;ar flags&quot;,&quot;q&quot;)</div><div> ,(&quot;ar supports at file&quot;,&quot;@ArSupportsAtFile@&quot;)</div><div> ,(&quot;touch command&quot;,&quot;touch&quot;)</div>

<div> ,(&quot;dllwrap command&quot;,&quot;/bin/false&quot;)</div><div> ,(&quot;windres command&quot;,&quot;/bin/false&quot;)</div><div> ,(&quot;perl command&quot;,&quot;/usr/bin/perl&quot;)</div><div> ,(&quot;target os&quot;,&quot;OSLinux&quot;)</div>

<div> ,(&quot;target arch&quot;,&quot;ArchX86_64&quot;)</div><div> ,(&quot;target word size&quot;,&quot;8&quot;)</div><div> ,(&quot;target has GNU nonexec stack&quot;,&quot;True&quot;)</div><div> ,(&quot;target has .ident directive&quot;,&quot;True&quot;)</div>

<div> ,(&quot;target has subsections via symbols&quot;,&quot;False&quot;)</div><div> ,(&quot;LLVM llc command&quot;,&quot;llc&quot;)</div><div> ,(&quot;LLVM opt command&quot;,&quot;opt&quot;)</div><div> ,(&quot;Project version&quot;,&quot;7.6.2&quot;)</div>

<div> ,(&quot;Booter version&quot;,&quot;7.4.1&quot;)</div><div> ,(&quot;Stage&quot;,&quot;2&quot;)</div><div> ,(&quot;Build platform&quot;,&quot;x86_64-unknown-linux&quot;)</div><div> ,(&quot;Host platform&quot;,&quot;x86_64-unknown-linux&quot;)</div>

<div> ,(&quot;Target platform&quot;,&quot;x86_64-unknown-linux&quot;)</div><div> ,(&quot;Have interpreter&quot;,&quot;YES&quot;)</div><div> ,(&quot;Object splitting supported&quot;,&quot;YES&quot;)</div><div> ,(&quot;Have native code generator&quot;,&quot;YES&quot;)</div>

<div> ,(&quot;Support SMP&quot;,&quot;YES&quot;)</div><div> ,(&quot;Unregisterised&quot;,&quot;NO&quot;)</div><div> ,(&quot;Tables next to code&quot;,&quot;YES&quot;)</div><div> ,(&quot;RTS ways&quot;,&quot;l debug  thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn&quot;)</div>

<div> ,(&quot;Leading underscore&quot;,&quot;NO&quot;)</div><div> ,(&quot;Debug on&quot;,&quot;False&quot;)</div><div> ,(&quot;LibDir&quot;,&quot;/usr/local/lib/ghc-7.6.2&quot;)</div><div> ,(&quot;Global Package DB&quot;,&quot;/usr/local/lib/ghc-7.6.2/package.conf.d&quot;)</div>

<div> ,(&quot;Gcc Linker flags&quot;,&quot;[\&quot;-Wl,--hash-size=31\&quot;,\&quot;-Wl,--reduce-memory-overheads\&quot;]&quot;)</div><div> ,(&quot;Ld Linker flags&quot;,&quot;[\&quot;--hash-size=31\&quot;,\&quot;--reduce-memory-overheads\&quot;]&quot;)</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 &amp;&amp; make boot <span style="background-color:rgb(247,247,247);font-size:13px">WithNofibHc=ghc-${VERSION} &amp;&amp; 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 &quot;imaginary&quot; benchmarks using exactly these commands and report the difference you see between 7.0.4 and 7.6.2. Here&#39;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>