<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Rodrigo,</div><div><br></div><div>The class based object part of the test is definitely GC sensitive. &nbsp;However, I and others have noted a performance drop for the struct based test (the other test in this simple benchmark), which should not be impacted by GC. &nbsp; I did two tests of the struct-based approach, one with 2.6.x OSX and 2.10.x and there was a consistent difference. &nbsp; &nbsp;</div><div><br></div><div>I also have a linux box, so am trying to build 2.10.x (as the packages available are 2.6.x). &nbsp; I expect, as others have found, that the struct performance will be lower in 2.10.x, even on linux.</div><div><br></div><div>I will post results later if I manage to build this successfully.</div><div><br></div><div>Jonathan</div><br><div><div>On Aug 27, 2011, at 7:09 PM, Rodrigo Kumpera wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">There are a few points to note here.<div><br></div><div>Linux with the default GC is much faster than OSX since the laster can't use fast object allocation.</div><div><br></div><div>OSX 2.6 shipped with default parallel mark enabled on OSX, but it was later disabled due to bugs in boehm.</div>
<div><br></div><div>Given no one is actively working on boehm, this was the best option. My suggestion is that you try using the new GC</div><div>try running 2.10 with --gc=sgen. Performance will be substantially better for your test.</div>
<div>&nbsp;&nbsp;</div><div><br><div class="gmail_quote">On Sat, Aug 27, 2011 at 2:27 PM, Jonathan Shore <span dir="ltr">&lt;<a href="mailto:jonathan.shore@gmail.com">jonathan.shore@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word"><div>Hi,</div><div><br></div><div>I was doing some benchmarks of struct vs class based creation (I have an application that will generate millions of small objects). &nbsp; I was doing the tests in a ubuntu 11.4 VM on my mac pro and found the following:</div>
<div><br></div><div><span style="white-space:pre-wrap">        </span>mono&nbsp;<b>2.6.7 was 4x faster</b> on my linux VM <b>than 2.10.4 </b>running on OSX (same machine)</div><div><br></div><div>I don't know whether this may be because of one of the following:</div>
<div><br></div><div>- performance in 2.10.4 regressed vs 2.6.7</div><div>- mono JIT implementation for OSX has a completely different JiT codebase and does not perform</div><div>- difference in GC (only relevant for second part of the test)</div>
<div><br></div><div>Note that I tried this with separate compilations with mcs -optimize+ &nbsp;on both environments as well as running the same exe on both.</div><div><br></div><div>I can live with slower performance on OSX, but want to make sure that linux and windows versions of mono 2.10.x have the performance of 2.6.7 or better.</div>
<div><br></div><div>Can someone clue me in? &nbsp; I've included the simple test code with this posting.</div><div><br></div><div>Thanks</div><div><br></div><font color="#888888"><div>Jonathan</div><div><br></div><div></div>
</font></div><br><div style="word-wrap:break-word"><div></div></div><br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></body></html>