Re: A new JIT engine for PHP-8.4/9
| From: | Derick Rethans | Date: | Fri, 15 Sep 2023 14:35:09 +0000 |
| Subject: | Re: A new JIT engine for PHP-8.4/9 | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-121067@lists.php.net to get a copy of this message | ||
Hi Dmitry,
On Fri, 15 Sep 2023, Dmitry Stogov wrote:
> After the code-review feedback, one of the most questionable decisions
> was changed.
>
> Instead of including IR Framework as a git submodule, now its part is
> embedded into php-src.
>
> This will complicate the IR/JIT development a bit, but will simplify
> things for everyone else.
>
> I'm going to merge https://github.com/php/php-src/pull/12079�ҢnjVÃ
å
> $¸1¿• into
> master next week.
I think this is great work. It looks like the new JIT-IR approach is
more suitable. I have however concerns with a few things here.
This is a lot of new code, that very few other people understand in
great detail.
I think it is unwise if we have another large part of the engine that
does not have enough people understanding enough of it, to be able to
debug issues, and contribute to its continued development.
As such, I don't think this should just be merged, without a
comprehensive document explaining what it is, how it works, what pitfalls
there are, etc. The natural process that we have for PHP would be to
create an RFC.
An RFC should also include a user-facing API on how to configure, and
enable, the JIT and its optimisations, as our current implementation
it is not the most convenient for users.
I understand that working on an RFC for such a complex issue is going to
take time, but that also gives to opportunity to pair with somebody,
who, while writing it, will also learn how it works. That would also
ready improve the debugging/contributing issues.
Separately, I am not sure why your PR couldn't just replace the JIT that
we already have? It would IMO not make sense to have two different ones
at the same time.
Furthermore, I am curious as if you have already done some benchmarks. I
am curious to learn how well it makes non-benchmark code run faster.
cheers,
Derick
--
https://derickrethans.nl | https://xdebug.org | https://dram.io
Author of Xdebug. Like it? Consider supporting me: https://xdebug.org/support
Host of PHP Internals News: https://phpinternals.news
mastodon: @derickr@phpc.social @xdebug@phpc.social
twitter: @derickr and @xdebug