Zeev,

>> Right now it compiles script (php file) at once.
>> So yes, our JIT uses some kind of AOT approach, but completely
>> transparently for the rest of PHP.
>
> Just to slightly further clarify - we don't compile the whole codebase at
> once, but we keep the existing semantics that every file is independent, may
> change independently of other files, and include() may end up load one file
> in one flow and another one in another flow.  There's isn't any cross-file
> optimization.
>
>> We also tried few different approaches to collect formation about hot
>> functions and generate code only for them.
>> Unfortunately, this didn't change the picture.
>
> (again, the picture being no performance gains in common Web apps).

Well, I just want to make one clarification here to your point:
there's no performance gains to this AOT approach for common web apps.

It's not really fair to judge a true JIT implementation based on this
because it lacks crucial runtime information that a real JIT compiler
would have (such as input types, values, etc). So it would be left
generating generic native code instead of specific code. I just want
to point out that the results here aren't really applicable to a JIT
approach. And that should be made clear when discussing it.

That's not to say there's anything wrong with this approach, nor that
there isn't a ton we can learn from it. I think it's a fantastic
research effort and plan on digging through it myself. Thank you for
open sourcing it.

Anthony

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

Reply via email to