<div dir="ltr">Hi Levente,<div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 16, 2015 at 8:59 AM, Levente Uzonyi <span dir="ltr">&lt;<a href="mailto:leves@elte.hu" target="_blank">leves@elte.hu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>On Sat, 16 May 2015, Esteban Lorenzano wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 16 May 2015, at 17:08, Levente Uzonyi &lt;<a href="mailto:leves@elte.hu" target="_blank">leves@elte.hu</a>&gt; wrote:<br>
<br>
Hi All,<br>
<br>
I saw that some of my benchmarks produce different results when running on PharoVM instead of CogVM, and I was wondering why. I ran #tinyBenchmarks from the same image on both VMs and the results were surprising:<br>
<br>
&quot;CogVM 3343&quot; &#39;904593639 bytecodes/sec; 46368169 sends/sec&#39;<br>
&quot;Pharo vm50&quot; &#39;941176470 bytecodes/sec; 120698445 sends/sec&#39;<br>
<br>
Slightly more bytecodes, and a lot more sends. I tried playing with compiler flags, but with no luck, so I came to the conclusion that the difference comes from somewhere else. I checked where the PharoVM was forked from CogVM (somewhere around 2014-06-10), so I downloaded a version of CogVM from around that time: CogVM 3048.<br>
<br>
And the results are &#39;932604735 bytecodes/sec; 118660385 sends/sec&#39;.<br>
<br>
Somewhere between 3048 and 3343 the performance has dropped significantly (sends/sec). Note that this is not something that&#39;s only visible in micro benchmarks.<br>
<br>
Does anyone know why?<br>
</blockquote>
<br>
It has to be a flags issue.<br>
</blockquote>
<br>
I don&#39;t think so, because flags don&#39;t have much effect on jitted code. I can squeeze out a few percents with -O3 -fomit-frame-pointer -march=native, but what that really affects are the primitives.<br>
<br>
I narrowed it down, it happened between 3306 and 3308:<br>
<br>
3048 &#39;932604735 bytecodes/sec; 118660385 sends/sec&#39;<br>
3163 &#39;885813148 bytecodes/sec; 118216795 sends/sec&#39;<br>
3164 &#39;856187290 bytecodes/sec; 109993018 sends/sec&#39;<br>
3254 &#39;932604735 bytecodes/sec; 119670738 sends/sec&#39;<br>
3306 &#39;943778801 bytecodes/sec; 125949728 sends/sec&#39;<br>
3308 &#39;924187725 bytecodes/sec; 44489533 sends/sec&#39;<br>
3311 &#39;937728937 bytecodes/sec; 46190853 sends/sec&#39;<br>
3312 &#39;894323144 bytecodes/sec; 45239356 sends/sec&#39;<br>
3343 &#39;904593639 bytecodes/sec; 46368169 sends/sec&#39;<br></blockquote><div><br></div><div><br></div><div>I&#39;ll take a look soon.  Could you tell me what platform you&#39;re on?</div><div></div></div><div><br></div><div>[snip]</div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div></div>