[Mono-list] Mono and high performance server applications

Matthew Metnetsky met at uberstats.com
Wed Mar 11 14:59:43 EDT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hardik Belani wrote:
> 1. Is Mono mature and stable enough to be considered for using it to
> built a high performance platform independent server application. Can
> you provide any example of a good server application written on top of Mono?

Just to name a few:

http://www.fiducial.biz/
https://developer.mozilla.org/
http://www.whorunsgov.com/
http://www.govtrack.us/
http://kmbs.konicaminolta.us/content/products/models/printgroove.html

For more details check out:

http://mono-project.com/Companies_Using_Mono#Web_Projects_Using_Mono

> 2. Also why one should decide to use Mono instead of Java to write
> platform independent server application (specially when primary
> requirement for server is to run on linux with top performance).

There are tons of reasons, but a lot of the final decisions come down to
personal opinions.

- - great performance, scalability
- - good integration with great web servers (better than Java)
- - many languages for different levels of engineers
(http://www.mono-project.com/Languages)
- - Mono keeps getting faster and faster (despite already being very fast)
- - .NET (Mono) is continually evolving, whereas Java is very slow at it

And finally, book sales are an interesting indicator:
http://radar.oreilly.com/archives/2008/03/state-of-the-computer-book-mar-22.html

Java has been continually shrinking whereas other languages like .NET
(Mono) have been rising.

> 3. Are we going to face any performance issues as application grows in
> size and complexity? What are the performance issues when an application
> runs on top of Mono as compared to an application written using c/c++.

Nothing just "scales", so it depends on how you design the applications
architecture. And when comparing C/C++ to other languages you have to
take into account time-to-life as compared to performance.

C/C++
 - SLOW time to life
 - can have best performance

.NET/Java
 - good time to life
 - can have great performance

Python / dynamic languages
 - great time to life
 - can have very good performance if not great
 - lack of "Types" can make team projects "complicated"

The only way to know if you should use Mono is to "use Mono". I've been
using it before there where "releases" and I would never trade it for
Java. Just remember that no language or framework is "the entire tool
chest", so pick the right tools.

I hope that helps.

Regards,

~ Matthew
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkm4Ch4ACgkQLrcoBjlTBf0QgQCfe8dp4l8XQxWt3mBNYf9hwfvi
WM0AoMrJNVggCRmjexH64Oanrq2rOaTY
=cVOr
-----END PGP SIGNATURE-----


More information about the Mono-list mailing list