rfc:jit

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
rfc:jit [2019/03/21 11:45]
dmitry
rfc:jit [2019/04/12 07:15]
laruence
Line 3: Line 3:
   * Date: 2019-01-28   * Date: 2019-01-28
   * Author: Dmitry Stogov <dmitry@php.net>, Zeev Suraski <zeev@php.net>   * Author: Dmitry Stogov <dmitry@php.net>, Zeev Suraski <zeev@php.net>
-  * Status: Voting+  * Status: Accepted (to be merged into PHP-8 only)
   * First Published at: https://wiki.php.net/rfc/jit   * First Published at: https://wiki.php.net/rfc/jit
  
 ===== Introduction ===== ===== Introduction =====
-It's no secret that the performance jump of PHP 7 was originally initiated by attempts to implement JIT for PHP. We started these efforts at Zend (mostly by Dmitry) back in 2011 and since that time tried 3 different implementations.  We never moved forward to propose to release any of them, for three main reasons:  They resulted in no substantial performance gains for typical Web apps;  They were complex to develop and maintain;  We still had additional directions we could explore to improve performance without having to use JIT.+It's no secret that the performance jump of PHP 7 was originally initiated by attempts to implement JIT for PHP. We started these efforts at Zend (mostly by Dmitry and Xinchen) back in 2011 and since that time tried 3 different implementations.  We never moved forward to propose to release any of them, for three main reasons:  They resulted in no substantial performance gains for typical Web apps;  They were complex to develop and maintain;  We still had additional directions we could explore to improve performance without having to use JIT.
  
 ===== The Case for JIT Today ==== ===== The Case for JIT Today ====
Line 413: Line 413:
 This project requires a 2/3+1 majority. Voting opened 2019-03-21 and closes 2019-03-28.  This project requires a 2/3+1 majority. Voting opened 2019-03-21 and closes 2019-03-28. 
  
-<doodle title="Include JIT into PHP 8?" auth="user" voteType="single" closed="false">+<doodle title="Include JIT into PHP 8?" auth="user" voteType="single" closed="true">
    * Yes    * Yes
    * No    * No
Line 422: Line 422:
 In case JIT is not included in PHP-7.4 and PHP-8 introduces language compatibility breaks (it already does), existing applications couldn't be tested with JIT without porting to PHP-8. In case JIT is not included in PHP-7.4 and PHP-8 introduces language compatibility breaks (it already does), existing applications couldn't be tested with JIT without porting to PHP-8.
  
-<doodle title="Include JIT into PHP 7.4 (experimental)?" auth="user" voteType="single" closed="false">+<doodle title="Include JIT into PHP 7.4 (experimental)?" auth="user" voteType="single" closed="true">
    * Yes    * Yes
    * No    * No
Line 433: Line 433:
  
 ===== Implementation ===== ===== Implementation =====
-After the project is implemented, this section should contain  +Merged into PHP master by [[https://github.com/php/php-src/commit/9a06876072b9ccb023d4a14426ccb587f10882f3|9a06876072b9ccb023d4a14426ccb587f10882f3]] commit
-  - the version(s) it was merged into +
-  a link to the git commit(s) +
-  - a link to the PHP manual entry for the feature +
-  - a link to the language specification section (if any)+
  
 ===== References ===== ===== References =====
   - [[https://luajit.org/dynasm.html|DynAsm page]]   - [[https://luajit.org/dynasm.html|DynAsm page]]
 +  - [[https://github.com/LuaJIT/LuaJIT/tree/master/dynasm|DynASM Source codes]]
   - [[https://corsix.github.io/dynasm-doc/|The Unofficial DynASM Documentation]]   - [[https://corsix.github.io/dynasm-doc/|The Unofficial DynASM Documentation]]
- 
rfc/jit.txt · Last modified: 2020/08/01 23:41 by carusogabriel