[Mono-list] Mono VM speed

Rodrigo Kumpera kumpera at gmail.com
Mon Apr 16 00:18:34 UTC 2012


Is your benchmark of mono on windows? Did you profile your app to see what
the bottlenecks are?

LLVM is not supported on windows and it's not enabled by default due to the
significant overhead it imposes that makes it impractical
for interactive applications.

On 2.10, SGen is not enabled by default and it is not supported on windows.


On Sun, Apr 15, 2012 at 1:56 PM, <pinggi at centrum.cz> wrote:

> Hi, I have 'problem' with mono engine speed. I developed and compiled app
> on Win7. It uses GTK# + Cairo to draw animation of 5 000 rotating lines in
> full screen. I compiled it under Monodevelop with Default Runtime /
> Release|x86 profile.
> Now if I run it from command line like this:
>
> >PerfDrawing3.exe
>
> It runs under .Net fw 4.0 and I get 26 FPS (one frame in 38 ms).
> If I run it under Mono like this:
>
> >mono PerfDrawing3.exe
>
> I get 10 FPS (97ms per frame) => 2,5x slower!
>
> I tried some optimization mono parameters like:
>
> mono --optimize=all PerfDrawing3.exe
>
> mono --optimize=simd PerfDrawing3.exe
>
> mono --optimize=sse2 PerfDrawing3.exe
>
> mono --llvm PerfDrawing3.exe
>
> mono --gc=sgen PerfDrawing3.exe
>
> ...but still the same result. I tried to aot it, but without success too.
> Probably it is possible only on Linux platform :-(
>
> >mono --aot=full -O=all PerfDrawing3.exe
> Mono Ahead of Time compiler - compiling assembly PerfDrawing3.exe
> Code: 23432 Info: 461 Ex Info: 1466 Unwind Info: 103 Class Info: 1041 PLT:
> 167 G
> OT Info: 1756 GOT: 936 Offsets: 1330
> Executing the native assembler: as   -o \AppData\Local\Temp\mono_
> aot_a06524.o \AppData\Local\Temp\mono_aot_a06524
> 'as' is not recognized as an internal or external command,
> operable program or batch file.
> AOT of image PerfDrawing3.exe failed.
>
> Here is my version string:
>
> >mono -V
>  Mono JIT compiler version 2.10.8 (tarball)
>  Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors.
> www.mono-pro
>  ject.com
>          TLS:           normal
>          SIGSEGV:       normal
>          Notification:  Thread + polling
>          Architecture:  x86
>          Disabled:      none
>          Misc:          softdebug
>          LLVM:          supported, not enabled.
>          GC:            Included Boehm (with typed GC and Parallel Mark)
>
> I quite surprised that llvm is "not enabled" and GC is "Boehm". It is by
> default I hope and can be changed by --llvm and --gc switches.
>
> Well, is there anything what I missed or Mono 2.10.8 @ Win7 is 2,5x slower
> than .Net Fw 4.0 VM?
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-list/attachments/20120415/2b655fd9/attachment.html>


More information about the Mono-list mailing list