Follow-up: Reminder, my results were:
Mono 2.6.3: structs: just below 15 seconds classes: just below 40 seconds Mono 2.10.3: structs: just above 19 seconds classes: just above 40 seconds And this is with Mono 2.8.1: structs: just below 15 seconds classes: just above 40 seconds So structs are as fast in Mono 2.6 and 2.8 here, but classes are a tiny bit slower in 2.8, the same as with Mono 2.10. Looking at my results only, you'd think there were 2 regressions: classes got slower between 2.6 and 2.8, and structs got slower between 2.8 and 2.10. Jonathan Shore wrote: > > I think all of these results point to a regression in performance between > 2.10.x and 2.6.x. I ran the 2.6.x version on OSX and found it to be > faster than 2.10.x. > > I will run on mu core i7 linux box and see how that fairs. > > On Aug 27, 2011, at 4:09 PM, Bojan Rajkovic wrote: > >> Hi all, >> >> Here's my results from 64-bit Mono master on OS X 10.7.1. The CPU is an >> Intel Core i7 @ 2.0 GHz, with 8 GB of RAM backing it: >> >> struct sum: 5000089998356.48, time: 1.593511 secs >> class sum: 5000089998356.48, time: 14.413891 secs >> >> Classes are almost twice as slow, which is somewhat odd. >> >> —Bojan >> >> On Aug 27, 2011, at 3: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.sh...@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.sh...@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@lists.ximian.com >>> http://lists.ximian.com/mailman/listinfo/mono-devel-list >> > > > _______________________________________________ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list > -- View this message in context: http://mono.1490590.n4.nabble.com/substantial-performance-regression-between-2-10-and-2-6-or-impl-diff-tp3773349p3773688.html Sent from the Mono - Dev mailing list archive at Nabble.com. _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list