Version française
Home     About     Download     Resources     Contact us    
Browse thread
OCamlJit 2.0
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Benedikt Meurer <benedikt.meurer@g...>
Subject: Re: [Caml-list] OCamlJit 2.0

On Nov 19, 2010, at 19:43 , Yoann Padioleau wrote:

>> OCamlJit 2.0 was specifically designed for desktop processors and is not really portable to anything else in its current shape, because the target audience are people using the interactive top-level and the byte-code interpreter for rapid prototyping/development
> 
> The target audience seems quite small to me. I think this project is very interesting from an educational point of view (to understand more
> the internals of OCaml) but I doubt we really need a JIT for OCaml. ocamlc + ocamlopt are very hard to beat.
> 
> What would be really nice is to make a JIT for a language that really need one, like PHP! There are lots of companies out there (Yahoo, Facebook,
> wikimedia) that spend hundreds of millions of dollars on machines that run PHP bytecode interpreters implemented by people who are not Xavier Leroy.
> It's not trivial to statically determine types in PHP which prevent to write really efficient compilers for PHP. JIT are perfect in such situation.
> I started to develop some basic compiler infrastructure around PHP at https://github.com/facebook/pfff if you are interested.
> Improving the current PHP implementation by 5% can save millions of dollars to Wikimedia. Think about it next time you see
> Jimmy Wales asking for money to fund Wikipedia; there are many ways computer scientists can help him.

Well, it is a research project, and it was driven by actual demand. A JIT engine for PHP is something less interesting from a university point of view, unless there are companies willing to sponsor/help the development.

But from my personal experience, there is not really a lot to gain w.r.t. PHP. Delivering website content does not involve complex computations or processing, it is mostly I/O bound, depending on a fast database engine, a fast webserver, decent text processing throughput, etc. I may be wrong here, but I doubt that you'd see relevant speedups on large websites by simply JITting the PHP code.

Also PHP code is less likely to change at runtime, so there's no real need to acutally JIT compile it. You could use a lot simpler techniques here to improve performance. For example, just write a simple PHP to C compiler, compiling your PHP code to native code via C, and let the webserver run the native code instead. With some clever compilation scheme, this should outperform any JIT engine, with a lot less effort.

Anyway, this seems to be off-topic here...

Benedikt