[Mono-list] Mono VM speed

pinggi at centrum.cz pinggi at centrum.cz
Sun Apr 15 16:56:40 UTC 2012


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?


More information about the Mono-list mailing list