Attention: We are retiring the ASP.NET Community Blogs. Learn more >

Numerical Mono

As soon as I got the SciMark2 benchmark running on C# I started to wonder how well (or whether) SciMark2 would run on Mono. Yesterday, I fired up my Suse Linux partition, copied the CommandLine.exe to a Linux volume and run "mono CommandLine.exe". First of all, the benchmark just run, no translations, no recompilations, I know, I know, "no big deal, what are the news" but, given the number of people who said that Microsoft would never allow .NET in Linux to happen and that Mono would never complete, I like to shout a "So there!" from time to time. Anyway, these are the SciMark2 results on Mono 1.0 (always in my good old Toshiba portable):

SciMark 2.0a

Composite Score: 176.409039417242
FFT (1024): 83.4854053401187
SOR (100x100):   391.548377048396
Monte Carlo : 5.20964699755985
Sparse matmult (N=1000, nz=5000): 161.20676270334
LU (100x100): 240.595004996796

The results are noticeably slower than those I got with Microsoft .NET 1.1 so there is a lot of performance work to be done but, as I said, the fact that it just runs is a triumph by itself for the Mono project. Out of curiosity, I recompiled the benchmark with the Mono compiler, and then I run the benchmark again:


SciMark 2.0a

Composite Score: 180.223072354434
FFT (1024): 98.6255427640211
SOR (100x100):   389.858527141431
Monte Carlo : 7.93000914358249
Sparse matmult (N=1000, nz=5000): 163.432889112128
LU (100x100): 241.268393611007

Funnily, the results are a little bit better. So, I thought "what if I take this compiled code and run it on Windows". Again, it run without a glitch, and it run as fast as the original .NET 1.1 version, so it is definetively a CLR, and not a compiler, issue.

No Comments