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

Jonathan Pobst monkey at jpobst.com
Sat Aug 27 15:42:03 EDT 2011


You could probably install the Mac OSX 2.6.7 Mono pretty quickly to see 
if it's a difference caused by architectures or by a change between Mono 
versions.

http://www.go-mono.com/mono-downloads/download.html

Jonathan


On 8/27/2011 2:36 PM, Jonathan Shore wrote:
> Ok. When you have a chance can you indicate your marks & CPU? I expect a
> reasonably modern CPU to be 2 - 6x fast than my sluggish cpu. Thanks.
>
>
> So for instance my mac X5130 rates at 12.7 CINT 2006 vs 28.6
>
> On Aug 27, 2011, at 2:57 PM, Slide wrote:
>
>> 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
>> <mailto: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 <http://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 <http://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 <mailto: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/
>> >
>
>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list



More information about the Mono-devel-list mailing list