[Mono-list] Poor Mono performance

Olajos, Imre IOlajos at ballytech.com
Tue Mar 12 16:32:43 UTC 2013


> I downloaded the file you linked above, and compiled it, .Net 4 Windows 7 x86_64 dual core intel i5.  It ran in 3.3 sec.  I then ran on the exact same machine in windows mono 2.10.9 and it ran in 3.66 sec.

That's interesting. I wonder why the difference is so dramatic on my machine? If this was the difference in performance on my setup, too, I would be totally okay with that...

> Mono 3.41

What version of Mono is this???

--
Imre


-----Original Message-----
From: edward.harvey.mono [mailto:edward.harvey.mono at clevertrove.com] 
Sent: Tuesday, March 12, 2013 7:06 AM
To: Olajos, Imre; mono-list at lists.ximian.com
Subject: RE: [Mono-list] Poor Mono performance

> From: mono-list-bounces at lists.ximian.com [mailto:mono-list- 
> bounces at lists.ximian.com] On Behalf Of imreolajos
> 
> SpeedTest.cs
> <http://mono.1490590.n4.nabble.com/file/n4658877/SpeedTest.cs>

Ok, you've provided some source code, you said it is important to you, and it represents your real life work load.  You've said you had some performance problems with it and would like to know why and what to do about it ...  Other people here have commented that it seems we're avoiding the problem.

So, I'll bite:

I downloaded the file you linked above, and compiled it, .Net 4 Windows 7 x86_64 dual core intel i5.  It ran in 3.3 sec.  I then ran on the exact same machine in windows mono 2.10.9 and it ran in 3.66 sec.  To eliminate sampling error, I ran repeatedly, and alternatingly.  Windows 3.4, Mono 3.41, Win 3.3, Mono 3.41, Win 3.3, Mono 3.43

While the mono performance is a little lower, it's not dramatic.

I then set var totals = new List<int>() { 10, 10, 100, 100, 1000 }; to make the job run longer, and ran again.  Win 32.7, Mono 32.8, Win 32.4, Mono 32.9

Even less dramatic.

I set the totals list back to the original presets.  Deployed the .exe to a slightly slower windows 7 x86_64 virtual machine with 2 cpu's and 1 g ram, and also deployed (and recompiled) to a fedora 17 x86_64 machine, mono 2.10.8 installed via yum.  The win & lin machines have identical system specs, running on the same host hardware.  win 4.9, lin 3.2, win 4.9, lin 3.2, win 4.9, lin 3.2

The most dramatic result we're seeing in any of these tests, is that mono for linux is significantly faster than .Net for this particular task, while mono for windows is slightly slower than .Net.  Again, specifically for this test case in this configuration.  I would not be comfortable generalizing anything from this.  I bet you'll see different results with different patch levels of Windows or linux, different versions of .Net, different versions of mono, different on 32bit vs 64bit hardware, etc.




More information about the Mono-list mailing list