Phalanger might be of interest to you.. Compiles PHP to MSIL, which then 
compiles to machine code JIT.. Works pretty good really..

http://www.php-compiler.net
http://www.codeplex.com/Phalanger


-- 

// DvDmanDT
mail: dvdmandt¤telia.com
msn: dvdmandt¤hotmail.com
"Jacob Santos" <[EMAIL PROTECTED]> skrev i meddelandet 
news:[EMAIL PROTECTED]
> Has anyone tried this or know of anyone who is interested in implementing 
> this for the Zend Engine? I tried searching the archives and didn't find 
> anything on this topic. (Would Google help? No, only turns up some 
> commercial PHP compiler for PHP 4.x.
>
> I believe it is possible currently using the Zend Engine and working it 
> either on top of APC or in place of APC. It would quite possibly help if I 
> ventured further into the Zend Engine and looked at APC source.
>
> Researching the topic has bought forth a very complex subject matter, 
> which I suppose is one reason why it hasn't been implemented yet. It is 
> easier (yes?) to compile to opcode and then interpret that or compile 
> directly to machine code than building a JIT for all known CPU 
> architectures (there goes two long years! More if I try to implement it 
> and I do plan on trying... and will fail at it, but it should be 
> interesting and fun to say the least).
>
> The reason why I ask is after looking at speed comparsions, PHP does 
> appear to fall behind even Ruby and Python. It is becoming difficult to 
> justify continuing coding using PHP based on what would appear to be 
> objective speed results. They perhaps, might not of used the APC or 
> optimizer in the speed comparisons.
>
> Discussions with my teacher on the subject matter further proved my 
> assertion that PHP would be better served with JIT compiler than APC 
> (Sorry! Sad but true). I will try to justify my statement and let more 
> intelligent people of this mailing list beat me down, if the case is that 
> I'm wrong.
>
> Native Machine code will always be quicker than interpreting Opcode (I 
> would so much assume that the PHP engine interprets and takes action upon 
> the passed Opcode to the engine using APC). The reason from my research is 
> that, well, you are passing the opcode through a layer before hitting the 
> CPU whereas the machine code can pass directly to the CPU. Also machine 
> code does not need to be interpreted by the machine and saves from that 
> overhead.
>
> It is possible to keep the PHP engine in control, while still running the 
> JIT compilation. Little fuzzy on exactly how this would work. Would the 
> compiled PHP script call PHP Engine, or would the PHP Engine call the 
> compiled PHP script, or keeping it all in memory and somehow combining the 
> two? Assembler seems quite fascinating, as well as learning other tidbits 
> about compiling and languages I did not know before.
>
> Two possible open source projects that would speed the process up 
> considerably are GNU Lightning (http://www.gnu.org/software/lightning/) 
> and YASM, the library not the compiler 
> (http://www.tortall.net/projects/yasm/wiki). GNU Lightning seems to be the 
> "best" choice from reading the brief description as it would work for most 
> architectures (Apple included), which would work for PHP best interest as 
> it is available for many platforms. From my reading, YASM library only 
> works for x86 and x86-64 architectures. Lightning is also made for JIT, 
> and therefore fits better for quick testing and deployment.
>
> I'm not asking for anyone to take the project up, just what you think of 
> me doing something like this and your opinion on the merits of JIT 
> compiling. 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to