You want to compare Mono performance to .NET performance - I'm sorry, but I don't see how that's even relevant?
Your benchmark would be relevant if I was proposing you write a PHP interpreter and run that on Mono. What I'm proposing (and what Phalanger does) is to compile PHP code to CLR bytecode, and running it directly on the VM - I'm not saying run an interpreter under the VM. That would be pointless. So what you should be comparing, is Mono performance against PHP performance. What you should be comparing is probably something closer to this: http://shootout.alioth.debian.org/u64q/performance.php?test=spectralnorm (and I realize of course that CLR bytecode derived from a dynamic language like PHP was have a considerably higher runtime overhead than that of a static language like C#, but it should still be orders of magnitude faster than an interpreter.) According to the chart you mentioned, Mono performance on Linux is comparable to that of Java - which has performed adequately to support a very large industry and thousands of languages. Sure, .NET is orders of magnitude faster than that. But it is optimized for a single platform, and if we're looking at cross-platform VM alternatives, your two best choices are Mono and Java - .NET should not even be in that chart, except for the sake of argument that Mono has room for optimization still. Also, according to your chart, Mono has considerably lower memory usage, which could be relevant when running highly parallelized applications such as web-services. Here's another chart I'm sure you've all seen, comparing the Windows build of PHP to Phalanger: http://www.php-compiler.net/benchmarks Yes, performance is worse under Linux - probably around half the speed you get under .NET on Windows. Does that mean it's going to be slower under Mono than the Zend VM? I would say not likely. But I guess we'll have to wait for a Linux PHP vs Linux Phalanger benchmark to know for sure... - Rasmus On Thu, Dec 8, 2011 at 7:16 PM, Rasmus Lerdorf <ras...@lerdorf.com> wrote: > On 12/08/2011 03:53 PM, Rasmus Lerdorf wrote: > > This is a complete non-starter. The bulk of PHP users are on > > non-Windows, especially Linux, and Mono performance on Linux is really > > not good. Last time I checked it was an order of magnitude slower on > > Linux compared to the same hardware running Windows. Granted that was > > quite a few years ago now and I assume it is no longer 10x slower. > > Perhaps it is up to 4x or even 2x slower. > > Here are some more recent numbers to back that up: > > http://www.codeproject.com/KB/dotnet/RuntimePerformance.aspx > > Basically what you are suggesting is that we replace the Green bar there > with the Grey one. Note that lower is better. This does show that Mono > performance is starting to approach .Net performance, at least for this > benchmark, but it still isn't there. And if you look through the various > benchmarks you will see that native C/C++ code is 5-10x faster than the > same code running under Mono. > > -Rasmus > >