From: Yoann Padioleau <padator@wanadoo.fr>
To: Alain Frisch <alain@frisch.fr>
Cc: Dario Teixeira <darioteixeira@yahoo.com>,
Benedikt Meurer <benedikt.meurer@googlemail.com>,
caml-list@yquem.inria.fr
Subject: Re: [Caml-list] OCamlJit 2.0
Date: Tue, 23 Nov 2010 23:59:00 -0800 [thread overview]
Message-ID: <DD808AC1-689A-420C-83BC-35F8852A1CB0@wanadoo.fr> (raw)
In-Reply-To: <4CECBCCD.4000609@frisch.fr>
On Nov 23, 2010, at 11:20 PM, Alain Frisch wrote:
> On 11/19/2010 8:46 PM, Dario Teixeira wrote:
>> Actually, Facebook has a compiler that transforms PHP source code into C++ [1],
>> and they claim a 50% reduction in CPU usage.
>
> I haven't looked into this project, but I've a hard time believing this is a better approach than compiling PHP to Javascript.
Web browsers have to implement a JIT: they don't have any control on the javascript they get (it can come from anywhere).
This is less true for server-side scripting languages. In the case of Facebook the PHP compiler has access to the whole
PHP codebase and can do some whole-program analysis.
> The translation would probably produce quite idiomatic Javascript code on which modern
> interpreters do an amazing job (and they keep improving). These interpreters focus on optimizing what made naive Javascript interpreters so slow and I assume the typical PHP interpreter has poor performance for the same reasons.
>
> -- Alain
next prev parent reply other threads:[~2010-11-24 7:59 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-16 14:52 Benedikt Meurer
2010-11-16 17:07 ` [Caml-list] " bluestorm
2010-11-16 17:32 ` Benedikt Meurer
2010-11-17 8:44 ` Native toplevel? (was: OCamlJit 2.0) Alain Frisch
2010-11-17 10:46 ` Satoshi Ogasawara
2010-11-17 11:38 ` Sylvain Le Gall
2010-11-17 22:57 ` [Caml-list] Native toplevel? Wojciech Daniel Meyer
2010-11-18 16:49 ` [Caml-list] Native toplevel? (was: OCamlJit 2.0) Ashish Agarwal
2010-11-19 18:09 ` David MENTRE
2010-11-19 18:24 ` Hezekiah M. Carty
2010-11-19 18:30 ` Ashish Agarwal
2010-11-19 18:42 ` Benedikt Meurer
2010-11-20 11:49 ` Jon Harrop
2010-11-18 18:19 ` Benedikt Meurer
[not found] ` <2025993285.616104.1290144569061.JavaMail.root@zmbs4.inria.fr>
2010-11-19 10:02 ` [Caml-list] Re: Native toplevel? Fabrice Le Fessant
2010-11-19 19:16 ` Benedikt Meurer
2010-11-19 18:43 ` [Caml-list] OCamlJit 2.0 Yoann Padioleau
2010-11-19 19:10 ` Benedikt Meurer
2010-11-20 15:59 ` Yoann Padioleau
2010-11-19 19:46 ` Dario Teixeira
2010-11-19 20:20 ` Yoann Padioleau
2010-11-20 15:19 ` [Was: OCamlJit 2.0] Vincent Balat
2010-11-20 15:42 ` [Caml-list] " Benedikt Meurer
2010-11-20 16:10 ` Yoann Padioleau
2010-11-20 16:25 ` Benedikt Meurer
2010-11-20 17:35 ` Yoann Padioleau
2010-11-20 17:08 ` Jon Harrop
2010-11-20 17:37 ` Yoann Padioleau
2010-11-20 17:48 ` Sylvain Le Gall
2010-11-20 18:51 ` [Caml-list] " Jon Harrop
2010-11-20 18:05 ` [Caml-list] " Jon Harrop
2010-11-20 17:15 ` Gerd Stolpmann
2010-11-23 2:09 ` Elias Gabriel Amaral da Silva
2010-11-24 7:20 ` [Caml-list] OCamlJit 2.0 Alain Frisch
2010-11-24 7:59 ` Yoann Padioleau [this message]
2010-11-24 9:04 ` Compiling to Javascript Jerome Vouillon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DD808AC1-689A-420C-83BC-35F8852A1CB0@wanadoo.fr \
--to=padator@wanadoo.fr \
--cc=alain@frisch.fr \
--cc=benedikt.meurer@googlemail.com \
--cc=caml-list@yquem.inria.fr \
--cc=darioteixeira@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox