The lack of benchmarks comparing Mono to the CLR (C# VM) is very frustrating. Apparently, the lack of benchmarks is due to Microsoft's license forbidding the publication of benchmarks without Microsoft's permission (common practice among commercial vendors?).
Fortunately, we have the Benchmarks Game and that shows Mono performing well [on synthetic benchmarks...] when compared to a variety of languages.
We have included Mono in our Framework Benchmarks project for some rounds now. However, we have recently set up a new hardware environment and we're not having any luck getting Mono installed on that environment [1]. It's simply not installing correctly for us. We're not Mono experts, so we're probably doing something wrong.
If anyone is interested in lending a hand, we'd appreciate it since we'd like for the Mono tests remain in Round 9. Thanks!
Thanks. It took a little while to find, but if anyone is interested in comparing Mono to the CLR for themselves (and likely do some work to adapt the system to Windows), here's where to start: http://benchmarksgame.alioth.debian.org/play.php#languagex
I think if you run a recent Mono, with the sgen GC using the LLVM backend and turn off array bounds-checking performance is supposed to be pretty impressive. (I recall Miguel saying within 10-20% of C++).
Having said that, I've had no performance issues running 3.2 on Linux in general.
I seem to remember that changed; and for a couple of years the benchmarks game did provide measurements for C# F# (.Net and Mono) and Java on MS Vista.
MVC5 still not working tho. Good thing we have Nancy.
Edit: Seems like many do not know about Nancy, check it out, some even say it's better than MVC. The good side is that it's 100% compatible with Mono because they run tests against it too so you can host your C# websites on Linux.
I tried Mono a few months ago because I was thinking of writing cross-platform (ish) desktop GUI application.
My dev platform is Ubuntu so I downloaded MonoDevelop and load the GtkSharp example (or maybe it was just the skeleton project template). Hit compile, bunch of errors showed up. Apparently I don't have the GTK libraries. Googled a bit, it looks like I had to download gtk-dev, compile, and do a bunch of things before I can run a "Hello, World" GTK sharp app.
I wade through the net and the tutorials and documentations are either for older versions or just weren't there (for example, integrating with NuGet).
It's a bit sad because I'm sure there are tons of engineering effort went into Mono but it just doesn't feel polished enough.
It's open source but lately I felt that it's more of a teaser for Xamarin than anything else.
That sounds like the kind of growing pains experienced when you set up any new largish development environment. If we're up and running with ecosystem X, we forget how much work it took to get there, because it was amortized over time. When we start out with a new ecosystem Y, we spend a lot of time in the steep part of the learning curve before reaching Hello World. Java is, IMHO, the worst for this.
Just curious, I've never installed Mono, but my first thought would have been to look for a PPA. Are there none out there? Let someone else figure out the dependencies and configs for you.
>My dev platform is Ubuntu so I downloaded MonoDevelop and load the GtkSharp example (or maybe it was just the skeleton project template). Hit compile, bunch of errors showed up. Apparently I don't have the GTK libraries. Googled a bit, it looks like I had to download gtk-dev, compile, and do a bunch of things before I can run a "Hello, World" GTK sharp app.
Well, that's how it works on Linux. What else did you expect? That they'd bundle all the Gtk stuff statically?
I am still so frustrated that Mono got lambasted for being a M$ trap. It was the biggest FUD I have ever read. Hope to see mono return to use in Linux community again.
The nix world never suffered from lack of decent languages, compilers, development tools, ecosystems and runtimes. The only benefit Mono gives nix users is to write software that's easy to run on Windows and that barely registers on most priority lists. It's been, IIRC, 6 years since I last wrote a "real" desktop app. I did it in C#, but Mono couldn't run it because it relied on Windows-only GUI components. Happily, it was never intended to be deployed on non-Windows environments and everyone was happy.
If I needed to write a desktop application (that's so 90's) that runs identically on both Windows and Linux, I'll just write it in Java.
Agreed, it was disappointing. There were some trust issues surrounding Mono but also an excessive amount of hyperbole.
A real shame, as Mono is great technology with good GTK bindings and integrated well with the GNOME system. I think having Mono as a first-class GNOME environment would have been interesting.
I've spent the past week using Monodevelop and F# to develop compiler tools under Fedora and have thoroughly enjoyed it. Not to mention F# is well supported within IDE, almost equal to VS.
That situation is now verging on the comical. Is it really so hard to cut a new deal with Xamarin? Even if they can only offer the new Mono version for paid users in Unity Pro, they need to do something.
If Unity go another major version still using Mono 2.6, they seriously risk losing ground among developers making CPU/memory-intensive games. Or even those concerned about optimizing for mobile platforms.
I recall reading somewhere that Unity wasn't going to upgrade its Mono framework until Mono 4.0. I can't find the link, so I'm hoping it was just a rumor.
There doesn't seem to be many reliable benchmarks available. I'm not sure why. Here is an in depth benchmark showing Mono lagging very heavily behind Microsoft, but I have no idea if the gap has widened or shrunk since then.
[+] [-] CoffeeDregs|12 years ago|reply
Fortunately, we have the Benchmarks Game and that shows Mono performing well [on synthetic benchmarks...] when compared to a variety of languages.
vs Java: http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...
vs Go: http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...
vs Python: http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...
[+] [-] bhauer|12 years ago|reply
If anyone is interested in lending a hand, we'd appreciate it since we'd like for the Mono tests remain in Round 9. Thanks!
[1] https://github.com/TechEmpower/FrameworkBenchmarks/issues/78...
[+] [-] nswanberg|12 years ago|reply
[+] [-] antihero|12 years ago|reply
Then some other helpful person can pastebin the actual results.
[+] [-] mands|12 years ago|reply
Having said that, I've had no performance issues running 3.2 on Linux in general.
[+] [-] igouy|12 years ago|reply
I seem to remember that changed; and for a couple of years the benchmarks game did provide measurements for C# F# (.Net and Mono) and Java on MS Vista.
[+] [-] romanovcode|12 years ago|reply
Edit: Seems like many do not know about Nancy, check it out, some even say it's better than MVC. The good side is that it's 100% compatible with Mono because they run tests against it too so you can host your C# websites on Linux.
Github: https://github.com/NancyFx/Nancy
[+] [-] skrowl|12 years ago|reply
[+] [-] profquail|12 years ago|reply
http://curtis.schlak.com/2014/02/04/setup-asp-net-mvc-4-on-m...
[+] [-] Xdes|12 years ago|reply
[+] [-] rjzzleep|12 years ago|reply
(as nifty as mvc can possibly be anyway)
[+] [-] yawgmoth|12 years ago|reply
public SampleModule() { Get["/"] = _ => "Hello World!"; }
[1] http://nancyfx.org/
[+] [-] manuletroll|12 years ago|reply
[+] [-] antihero|12 years ago|reply
[+] [-] edwinnathaniel|12 years ago|reply
My dev platform is Ubuntu so I downloaded MonoDevelop and load the GtkSharp example (or maybe it was just the skeleton project template). Hit compile, bunch of errors showed up. Apparently I don't have the GTK libraries. Googled a bit, it looks like I had to download gtk-dev, compile, and do a bunch of things before I can run a "Hello, World" GTK sharp app.
I wade through the net and the tutorials and documentations are either for older versions or just weren't there (for example, integrating with NuGet).
It's a bit sad because I'm sure there are tons of engineering effort went into Mono but it just doesn't feel polished enough.
It's open source but lately I felt that it's more of a teaser for Xamarin than anything else.
[+] [-] curveship|12 years ago|reply
Just curious, I've never installed Mono, but my first thought would have been to look for a PPA. Are there none out there? Let someone else figure out the dependencies and configs for you.
[+] [-] Sir_Cmpwn|12 years ago|reply
I suggest trying to compile it all yourself instead of going for packages on Debian-derived systems.
[+] [-] coldtea|12 years ago|reply
Well, that's how it works on Linux. What else did you expect? That they'd bundle all the Gtk stuff statically?
[+] [-] baldfat|12 years ago|reply
[+] [-] rbanffy|12 years ago|reply
The nix world never suffered from lack of decent languages, compilers, development tools, ecosystems and runtimes. The only benefit Mono gives nix users is to write software that's easy to run on Windows and that barely registers on most priority lists. It's been, IIRC, 6 years since I last wrote a "real" desktop app. I did it in C#, but Mono couldn't run it because it relied on Windows-only GUI components. Happily, it was never intended to be deployed on non-Windows environments and everyone was happy.
If I needed to write a desktop application (that's so 90's) that runs identically on both Windows and Linux, I'll just write it in Java.
[+] [-] mands|12 years ago|reply
A real shame, as Mono is great technology with good GTK bindings and integrated well with the GNOME system. I think having Mono as a first-class GNOME environment would have been interesting.
I've spent the past week using Monodevelop and F# to develop compiler tools under Fedora and have thoroughly enjoyed it. Not to mention F# is well supported within IDE, almost equal to VS.
[+] [-] nbevans|12 years ago|reply
[+] [-] skrowl|12 years ago|reply
[+] [-] profquail|12 years ago|reply
https://launchpad.net/~directhex/+archive/monoxide
[+] [-] romanovcode|12 years ago|reply
[+] [-] friism|12 years ago|reply
[+] [-] fiatmoney|12 years ago|reply
[+] [-] pjmlp|12 years ago|reply
[+] [-] TillE|12 years ago|reply
If Unity go another major version still using Mono 2.6, they seriously risk losing ground among developers making CPU/memory-intensive games. Or even those concerned about optimizing for mobile platforms.
[+] [-] gamblor956|12 years ago|reply
[+] [-] pjmlp|12 years ago|reply
http://www.castlesoft.com.au/new-in-mono-328
[+] [-] romanovcode|12 years ago|reply
[+] [-] melling|12 years ago|reply
How is Mono's JIT performance compared to Microsoft's? Are they nearing parity?
[+] [-] RyanZAG|12 years ago|reply
http://www.codeproject.com/Articles/212856/Head-to-head-benc...
[+] [-] patja|12 years ago|reply
[+] [-] JL2010|12 years ago|reply
[+] [-] DrJokepu|12 years ago|reply