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
>
>

Reply via email to