rfc:optimizerplus
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:optimizerplus [2013/01/30 13:39] – Added 'What is an Opcode Cache?' and 'Interaction with other extensions and plugins' sections zeev | rfc:optimizerplus [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Integrating Zend Optimizer+ into the PHP distribution ====== | ====== Integrating Zend Optimizer+ into the PHP distribution ====== | ||
- | * Version: | + | * Version: |
* Date: 2013-01-28 | * Date: 2013-01-28 | ||
* Author: Zeev Suraski < | * Author: Zeev Suraski < | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
Line 32: | Line 32: | ||
For the most part, the existence of an opcode cache should have no influence on extensions, except for ones that do 'brain surgey' | For the most part, the existence of an opcode cache should have no influence on extensions, except for ones that do 'brain surgey' | ||
+ | ==== Debuggers ==== | ||
One such class of plugins are debugger extensions like Xdebug or Zend Debugger. | One such class of plugins are debugger extensions like Xdebug or Zend Debugger. | ||
To simplify interaction between such modules, and in order to avoid the need for a strict loading order of modules - we may want to create a new mechanism in the engine that allows zend_extensions to specify the priority of overriding the compiler/ | To simplify interaction between such modules, and in order to avoid the need for a strict loading order of modules - we may want to create a new mechanism in the engine that allows zend_extensions to specify the priority of overriding the compiler/ | ||
+ | |||
+ | Finalizing the mechanism is outside the scope of this RFC. | ||
+ | |||
+ | |||
+ | ==== Other Components ==== | ||
+ | |||
+ | The Optimizer+ component will not include any non-generic special support for any external components, Zend or otherwise. | ||
Line 60: | Line 68: | ||
All tests were done with the latest source tree of PHP 5.5.0 as of Jan 28 2013. | All tests were done with the latest source tree of PHP 5.5.0 as of Jan 28 2013. | ||
- | We've tested plain PHP, APC 3.1.5-dev, Optimizer+ vanilla and Optimizer+ configured for maximum | + | We've tested plain PHP, APC 3.1.5-dev, Optimizer+ vanilla and Optimizer+ configured for extreme |
The results are available as a Google Spreadsheet: | The results are available as a Google Spreadsheet: | ||
http:// | http:// | ||
+ | |||
+ | ===== Source Code ===== | ||
+ | |||
+ | The Zend Optimizer+ source code has been made available under the PHP license, and can be found on github at http:// | ||
+ | |||
+ | ===== Naming ===== | ||
+ | |||
+ | If the Optimizer+ components becomes embedded in PHP, it's likely that a name change will be in order. | ||
===== Recommendation ===== | ===== Recommendation ===== | ||
Line 73: | Line 89: | ||
===== Suggested Roadmap ===== | ===== Suggested Roadmap ===== | ||
- | - As the code becomes | + | - Make the source |
- Once the cleanup / initial improvements are done and everything is working & stable - bundle in PHP and move to ext/. | - Once the cleanup / initial improvements are done and everything is working & stable - bundle in PHP and move to ext/. | ||
- | - Long term, evaluate whether it makes sense to further integrate | + | |
+ | | ||
===== PHP 5.5.0 ===== | ===== PHP 5.5.0 ===== | ||
- | If the RFC gets approved, one open question is whether or not we should aim for integrating Optimizer+ into the PHP 5.5.0 release. | + | If the RFC gets approved, one open question is whether or not we should aim for integrating Optimizer+ into the PHP 5.5.0 release. |
- | ===== Suggested Voting Options | + | The integration proposed for PHP 5.5.0 is mostly ' |
+ | |||
+ | ===== Vote ===== | ||
+ | |||
+ | Vote starts Feb 27th, and ends March 7th | ||
+ | |||
+ | <doodle title=" | ||
+ | * Integrate into 5.5, even if minor delay required | ||
+ | * Integrate into 5.5 only if it's not delayed, otherwise - 5.6 | ||
+ | * Don’t integrate Optimizer+ to PHP, make avail through PECL only | ||
+ | </ | ||
- | * Integrate Optimizer+ into PHP 5.5.0, allow up to 2 months delay | ||
- | * Integrate Optimizer+ into PHP, but don’t delay 5.5.0 for it | ||
- | * Don’t integrate Optimizer+ to PHP, provide it as an optional component in PECL only | ||
===== Changelog ===== | ===== Changelog ===== | ||
Line 95: | Line 119: | ||
* 0.7 - Removed ZTS difference, now that ZTS is supported in the codebase | * 0.7 - Removed ZTS difference, now that ZTS is supported in the codebase | ||
* 0.75 - Added 'What is an Opcode Cache?' | * 0.75 - Added 'What is an Opcode Cache?' | ||
+ | * 0.80 - Source code now available! | ||
+ | * 0.81 - Clarify debugger & other components support is outside scope of RFC, clarify ' | ||
+ | * 0.82 - Added Naming section | ||
+ | * 0.83 - Clarify 5.5 integration | ||
+ | * 1.00 - Vote | ||
+ | * 1.01 - Clarify third voting option | ||
+ |
rfc/optimizerplus.1359553185.txt.gz · Last modified: 2017/09/22 13:28 (external edit)