Hi together, Am 06.06.2017 um 14:43 schrieb Nikita Popov: > First of all: I think the ability to implement parts of PHP extensions in > PHP is extremely important and will be a game changer in our ability to > maintain and improve our standard library.
I agree with you here 100%. > 1. As far as I understand, PCS relies on autoloading. There are two issues > here: First, autoloading does not register symbols prior to autoloading. > This means that functions like get_defined_classes() will not behave as > expected. Second, autoloading does not support functions. I think both of > these problems can be solved with some up-front symbol analysis. Lazily > compiling internal functions should not run into any of the problems we > have with userland function autoloading. (disclaimer: I have not deep knowledge how the core really works) >From what I see there is a difference between writing extension code in PHP and placing that plain PHP files somewhere when installing. So I would argue when compiling the extension or the core, all these PHP extension stuff should get compiled to OpCodes and put in a segment of the resulting binary. The OpCache could then be modified to allow it to use the OpCodes from these read-only segments (one for the core, one optionally for each extension). That would void the problems you mentioned above, but maybe I am missing how the OpCache and symbol registration work in PHP. Greets Dennis -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php