Question related to the PHP engine and ArrayBuffers
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 42
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
Hi; you don’t know me but I would like to say that it was a sad thing for the PHP community to learn that you moved over to LLVM; but I hope you are doing well. Over to my question:
I learned today some background from the PHP internals and the process leading up to PHP version 7, and also the JIT feature in 7.4:
That PHP’s JIT performance suffers because of extra CPU cache misses when JIT is enabled. Based on this, Dmitri did some great work on optimizing the memory requirements for important data structures in PHP 7.
This reduced the memory requirements of PHP and contributed to a ca 200% performance increase for PHP - mostly attributed to reduced memory bandwidth needs.
Question:
Can an extension like this ever hope to compete in performance, compared to a native op-code based approach to implementing array buffers? If so; I will consider adopting it into an RFC for PHP.
(Also because I am curious, but irrelevant for this extension; but I know you have an opinion: Could potentially re-implementing for example most of the \str* functions as pure PHP - reduce the amount of CPU cache space needed and lead to a faster language in general?)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This is an unanswered performance question about the PHP engine, LLVM-based JIT behavior, ArrayBuffers, and a possible RFC. No files, tests, or entry points are named, so begin by researching the extension and PHP internals context described in the issue. Done would require a maintainer-supported performance assessment and a clearly scoped RFC proposal.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, php
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 10/100