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

Reply via email to