[RFC] [VOTE] JIT

php.internals

Dmitry Stogov

7 years ago
Hey, I'm starting the vote on JIT RFC. https://wiki.php.net/rfc/jit<https://wiki.php.net/rfc/typed_properties_v2> The voting period is one week, until Thursday 28-03-2019 GMT. Since the initial announcement and following discussions, RFC was imprved and implementation extended with support for Clang, Windows and ZTS builds. Please reread RFC carefully. Thanks. Dmitry.

Joe Watkins

7 years ago
Such complex and far reaching features should clearly have a two week voting period, please update the RFC. Cheers Joe On Thu, 21 Mar 2019 at 12:58, Dmitry Stogov <dmitry@zend.com> wrote:

Dmitry Stogov

7 years ago
Hey Joe, Voting rules nothing say about "complex features" and 2 weeks voting period. If you liked to change this, you might do it together with 50%+1 -> 2/3 majority change. If you agree, I can extend voting period "pseudo proportionally" (to be 1.5 week), but I don't like to lose the following week. Thanks. Dmitry. ________________________________ From: Joe Watkins <krakjoe@gmail.com> Sent: Thursday, March 21, 2019 3:12:31 PM To: Dmitry Stogov Cc: PHP internals Subject: Re: [PHP-DEV] [RFC] [VOTE] JIT Such complex and far reaching features should clearly have a two week voting period, please update the RFC. Cheers Joe On Thu, 21 Mar 2019 at 12:58, Dmitry Stogov <dmitry@zend.com<mailto:dmitry@zend.com>> wrote: Hey, I'm starting the vote on JIT RFC. https://wiki.php.net/rfc/jit<https://wiki.php.net/rfc/typed_properties_v2> The voting period is one week, until Thursday 28-03-2019 GMT. Since the initial announcement and following discussions, RFC was imprved and implementation extended with support for Clang, Windows and ZTS builds. Please reread RFC carefully. Thanks. Dmitry.

Joe Watkins

7 years ago
Afternoon Dmitry,
> If you liked to change this, you might do it together with 50%+1 -> 2/3
majority change. The super majority RFC was already accepted ...
> If you agree, I can extend voting period "pseudo proportionally" (to be
1.5 week), but I don't like to lose the following week. I'm not sure what you loose, I'm sure that you gain the possibility of more voters having the opportunity to vote. Cheers Joe On Thu, 21 Mar 2019 at 14:11, Dmitry Stogov <dmitry@zend.com> wrote:

Dmitry Stogov

7 years ago
On 3/21/19 4:27 PM, Joe Watkins wrote:
> Afternoon Dmitry, > > > If you liked to change this, you might do it together with 50%+1 -> > 2/3 majority change. > > The super majority RFC was already accepted ... > > > If you agree, I can extend voting period "pseudo proportionally" (to > be 1.5 week), but I don't like to lose the following week. > > I'm not sure what you loose, I'm sure that you gain the possibility of > more voters having the opportunity to vote.
I'm talking about a week of work, that I'm going to start when JIT accepted. Thanks. Dmitry.

Derick Rethans

7 years ago
Hi, The vote seems currently closed, but as long as it says: Proposed PHP version: PHP 7.4 I won't be voting for it. This should squarely just be targetted at PHP 8.0. cheers, Derick On Thu, 21 Mar 2019, Dmitry Stogov wrote:
> Hey, > > I'm starting the vote on JIT RFC. > > > https://wiki.php.net/rfc/jit<https://wiki.php.net/rfc/typed_properties_v2> > > > The voting period is one week, until Thursday 28-03-2019 GMT. > > > Since the initial announcement and following discussions, RFC was imprved and implementation extended with support for Clang, Windows and ZTS builds. > Please reread RFC carefully. > > > Thanks. Dmitry. >
-- https://derickrethans.nl | https://xdebug.org | https://dram.io Like Xdebug? Consider a donation: https://xdebug.org/donate.php, or become my Patron: https://www.patreon.com/derickr twitter: @derickr and @xdebug

Derick Rethans

7 years ago
On Thu, 21 Mar 2019, Derick Rethans wrote:
> Hi, > > The vote seems currently closed, but as long as it says: > > Proposed PHP version: PHP 7.4
The RFC doesn't say that, but the link in your email was: https://wiki.php.net/rfc/jit<https://wiki.php.net/rfc/typed_properties_v2> Doesn't help if I read the wrong link! But my quipe with having this in PHP 7.4 stands — it shouldn't be there, not even disabled by default. cheers, Derick
-- https://derickrethans.nl | https://xdebug.org | https://dram.io Like Xdebug? Consider a donation: https://xdebug.org/donate.php, or become my Patron: https://www.patreon.com/derickr twitter: @derickr and @xdebug

Dan Ackroyd

7 years ago
On Thu, 21 Mar 2019 at 12:15, Derick Rethans <derick@php.net> wrote:
> > I won't be voting for it. This should squarely just be targetted at PHP > 8.0. >
Same thoughts here, extended to I don't think we should be having any dramatic changes in 7.4. Although the improvements that have been made from 5.6 to 7.x have been great, businesses need a stable platform to deploy code to, where they can expect: i) the code to work. ii) the code will work for years to come. Including a feature that even the RFC says needs a lot of work, in what will be the last 7.x release would mean that businesses shouldn't upgrade to 7.4 cheers Dan Ack

Julien Pauli

7 years ago
On Thu, Mar 21, 2019 at 1:41 PM Dan Ackroyd <Danack@basereality.com> wrote:
> On Thu, 21 Mar 2019 at 12:15, Derick Rethans <derick@php.net> wrote: > > > > > I won't be voting for it. This should squarely just be targetted at PHP > > 8.0. > > > > Same thoughts here, extended to I don't think we should be having any > dramatic changes in 7.4. > > Although the improvements that have been made from 5.6 to 7.x have been > great, businesses need a stable platform to deploy code to, where they can > expect: > > i) the code to work. > ii) the code will work for years to come. > > Including a feature that even the RFC says needs a lot of work, in what > will be the last 7.x release would mean that businesses shouldn't upgrade > to 7.4 > >
+1 , we should really target PHP 8.0 for such a BIG change in the code. Julien.P

Nikita Popov

7 years ago
On Thu, Mar 21, 2019 at 12:58 PM Dmitry Stogov <dmitry@zend.com> wrote:
> Hey, > > I'm starting the vote on JIT RFC. > > > https://wiki.php.net/rfc/jit<https://wiki.php.net/rfc/typed_properties_v2 > > > > > The voting period is one week, until Thursday 28-03-2019 GMT. > > > Since the initial announcement and following discussions, RFC was imprved > and implementation extended with support for Clang, Windows and ZTS builds. > Please reread RFC carefully. > > > Thanks. Dmitry. >
Thanks a lot for your work on this Dmitry! I didn't expect to see full Windows & ZTS support so soon :) A few people have already commented on the question of 7.4 vs 8.0, here are my thoughts on that. Pros: * If Linux distros build with the JIT compiled in, we may get much more testing, as not many people compile PHP themselves. * It allows testing the JIT on code that is not compatible with PHP 8.0, but is compatible with PHP 7.4. Cons: * The JIT for PHP 8 will (presumably) see a lot more work to improve performance, in particular based on runtime profiling and speculative optimization. This means that tests run with the PHP 7.4 JIT may not be representative (and may show worse than actual performance). * It makes for better marketing to include it in PHP 8. PHP 7.4 is already a very packed release (FFI, preloading, typed properties, type covariance, ??=, maybe short closures), probably the most important release since 7.0. * More maintenance burden: I think you are right that we won't be seeing many major changes land in 7.4 anymore. But with the number of other big features already in 7.4, I think we have enough new bug surface area to deal with already. (Unfortunately we are still not on top of all stability issues from PHP 7.3...) Overall, I think overall we're better served with introducing the JIT in PHP 8.0. Nikita

Peter Kokot

7 years ago
Hello, On Thu, 21 Mar 2019 at 12:58, Dmitry Stogov <dmitry@zend.com> wrote:
> > Hey, > > I'm starting the vote on JIT RFC. > > > https://wiki.php.net/rfc/jit<https://wiki.php.net/rfc/typed_properties_v2> > > > The voting period is one week, until Thursday 28-03-2019 GMT. > > > Since the initial announcement and following discussions, RFC was imprved and implementation extended with support for Clang, Windows and ZTS builds. > Please reread RFC carefully. > > > Thanks. Dmitry.
+1 to both options. Having such feature in the PHP-7.4 is also good to be able to check it out sooner (and to have some test base). With having this in PHP 8.0 we will need to wait for more than a year to check it out. I'm sure very little people will compile PHP 8.0-dev on their own and install it to test that before the release. PHP 8.0.0 release could be also about removing deprecated functionality. This approach is actually following semver https://semver.org, so that's all good I think. In any case if we will need to wait more than another year or not, thank you for your great work. Thumbs up. :)
-- Peter Kokot

Rowan Collins

7 years ago
On 23 March 2019 19:46:16 GMT+00:00, Peter Kokot <peterkokot@gmail.com> wrote:
> I'm sure very little people will compile PHP 8.0-dev on >their own and install it to test that before the release.
I suggested before that a series of official PHP 8 preview builds could be released so that people didn't need to compile their own, and I believe somebody offered to do so. The trade-off then is between testing an up to date JIT (as opposed to one snapshotted when 7.4 ships, with limited updates) and being able to test the JIT without fixing deprecation notices (but possibly encountering bugs already fixed for 8.0). Regards,
-- Rowan Collins [IMSoP]