Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mono performance

Tags:

Are there any performance benchmarks for Mono compared to say Java in GNU/Linux?

Have you ever tested Mono's performance?

like image 921
Fernando Briano Avatar asked Dec 19 '08 11:12

Fernando Briano


People also ask

What is the use of mono?

“Mono” is short for monophonic or monaural, which means “one sound”. This refers to mono audio having just one audio signal that uses just one audio channel for playback or recording.

What is the Mono runtime?

The Mono runtime (the CLR) is a native application written mostly in the C language and compiled down to machine language code for the computer system on which is designed to run. Like on Windows, the Mono runtime is specific to the Operating System and kind of machine you are using.


1 Answers

The latest version of this shoot-out can be found here.

In a nutshell, compared to Java, Mono uses much less memory and runs a little slower.

To keep things in perspective, they both run about the same speed in the grand scheme of things. They both run these tests orders of magnitude faster than languages like Ruby, LUA, Python, PHP, and Perl. They are both in the same ball-park as Pascal, OCaml, Haskell, and LISP which makes them about half as fast as C and C++. Click here for more detail.

To nitpick, we should be clear that our answers here compare Java and Mono C#. Both Mono and the JVM are environments targeted by various languages and the choice of language matters. For example, if we compare F# on Mono with Clojure on the JVM we get totally different results and suddenly "Mono" is "faster".

While these comparisons are interesting and informative, you have to take them with a grain of salt. First, although some people do, most people writing Java and C# code are not running nothing but numerical algorithms in tight loops. Second, in some of these languages, the tested algorithms may just be calling into libraries that are written in C and not in the target language at all. Finally, other benchmarks (and implementations) would likely yield different results.

Still, it is reasonable to infer that Go is much faster than Ruby, C++ is faster than Go, and both Java and C# perform pretty reasonably given how productive they are (IMHO).

like image 177
Justin Avatar answered Oct 05 '22 06:10

Justin