Skip to content

Relax optimizer/JIT cross-file boundary restriction for CLI#22458

Open
iluuu1994 wants to merge 1 commit into
php:masterfrom
iluuu1994:optimizer-single-request
Open

Relax optimizer/JIT cross-file boundary restriction for CLI#22458
iluuu1994 wants to merge 1 commit into
php:masterfrom
iluuu1994:optimizer-single-request

Conversation

@iluuu1994

Copy link
Copy Markdown
Member

In CLI (but not cli-server) it's safe to assume script structures are fully immutable, given the structures will not be freed until the process ends. Hence, we can make stronger assumptions during optimization and jitting. This may be beneficial for web servers implemented in PHP, or worker mode.

In my tests, this shaves off roughly 0.5% off Symfony Demo with just opcache. and a bit less with the tracing JIT. Function JIT improves by over 4%, but is overall still slower than the tracing JIT after warmup.

In CLI (but not cli-server) it's safe to assume script structures are fully
immutable, given the structures will not be freed until the process ends. Hence,
we can make stronger assumptions during optimization and jitting. This may be
beneficial for web servers implemented in PHP, or worker mode.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant