[Mono-dev] substantial performance regression between 2.10 and 2.6 or impl diff?

Slide slide.o.mix at gmail.com
Sat Aug 27 14:57:20 EDT 2011


I just ran on ubuntu 64bit with mono 2.10.1 and got better numbers than your
2.6.7. I had to run somewhere quick but will publish the numbers when I get
back.
On Aug 27, 2011 11:16 AM, "Jonathan Shore" <jonathan.shore at gmail.com> wrote:
>
> My machine is an old 2006 Mac Pro 1,1 2 x Xeon 5130 (64 bit) running OSX
lion. Here are the respective versions of mono:
>
> Mono on OSX:
>
> Mono JIT compiler version 2.10.4 (tarball Mon Aug 8 22:03:39 EDT 2011)
> Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors.
www.mono-project.com
> TLS: normal
> SIGSEGV: normal
> Notification: kqueue
> Architecture: x86
> Disabled: none
> Misc: debugger softdebug
> LLVM: yes(2.9svn-mono)
> GC: Included Boehm (with typed GC)
>
>
> Mono on Ubuntu 11.04 (running in VMWare VM on same machine):
>
> Mono JIT compiler version 2.6.7 (Debian 2.6.7-5ubuntu3)
> Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
> TLS: __thread
> GC: Included Boehm (with typed GC and Parallel Mark)
> SIGSEGV: altstack
> Notifications: epoll
> Architecture: amd64
> Disabled: none
>
>
> Here is the Mac OSX mono 2.10.4 run:
>
> $ mono main.exe
> Running benchmark
> struct sum: 5000089998356.48, time: 9.010549 secs
> class sum: 5000089998356.48, time: 30.67357 secs
>
> Here is the Ubuntu 11.04 mono 2.6.7 run:
>
> $ mono main.exe
> Running benchmark
> struct sum: 5000089998356.48, time: 2.737732 secs
> class sum: 5000089998356.48, time: 7.83984 secs
>
> Note that the running time for mono 2.6.7 is ~4x faster than mono 2.10.4
on the same box (and the linux run has the disadvantage of running on a VM).
The struct test is most likely not exercising the GC and the later is. I
suspect given the consistent performance difference is *not* a GC issue,
rather a difference in the JIT code generation.
>
> Let me know if there is other information I can provide. Thanks.
>
> Jonathan
>
> On Aug 27, 2011, at 1:52 PM, Slide wrote:
>
>>
>>
>> On Sat, Aug 27, 2011 at 10:27 AM, Jonathan Shore <
jonathan.shore at gmail.com> wrote:
>> Hi,
>>
>> I was doing some benchmarks of struct vs class based creation (I have an
application that will generate millions of small objects). I was doing the
tests in a ubuntu 11.4 VM on my mac pro and found the following:
>>
>> mono 2.6.7 was 4x faster on my linux VM than 2.10.4 running on OSX (same
machine)
>>
>> I don't know whether this may be because of one of the following:
>>
>> - performance in 2.10.4 regressed vs 2.6.7
>> - mono JIT implementation for OSX has a completely different JiT codebase
and does not perform
>> - difference in GC (only relevant for second part of the test)
>>
>> Note that I tried this with separate compilations with mcs -optimize+ on
both environments as well as running the same exe on both.
>>
>> 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.
>>
>> Can someone clue me in? I've included the simple test code with this
posting.
>>
>> Thanks
>>
>> Jonathan
>>
>>
>>
>> Can you publish your benchmark numbers and for what machines you are
running on?
>>
>> slide
>>
>> --
>> slide-o-blog
>> http://slide-o-blog.blogspot.com/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20110827/62eb61f8/attachment-0001.html 


More information about the Mono-devel-list mailing list