-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question about copy-and-patch technique #92
Comments
The "Copy-and-Patch" technique is going to be a step backward. |
@dstogov, thanks a lot for your quick answer. Everything makes sense.
It would be interesting to compare IR with other JIT compilers; however, I don't see how it can be implemented easily. According to the "Copy-and-Patch Compilation" paper, authors implemented WebAssembly compiler WasmNow using PochiVM. Therefore, it is required to implement WebASsembly compilation using the IR framework to perform a comparison with V8 Turbofan and other JITs. I believe that IR can outperform other compilers.
Thanks for the clarification.
Agree that CPython can benefit from the simple JIT more than PHP, significantly, in data processing and ML use cases.
In my opinion, investing our precious time into IR benchmarking that I mentioned above would be much more valuable. It can show the strong and weak sides of the IR framework's approach. |
It's not possible to make an apple-to-apple comparison between JIT engines for different languages with different inputs.
As "Copy-and-Patch" uses LLVM internally, it should be possible to use IR as a back-end. |
Recently, Python core developers presented an experimental JIT compiler in the 3.13 version. The work is inspired by Deegen, the next generation JIT compiler for Lua implemented in the scope of the Lua Remake project. The features that are different to DynAsm are:
The "Copy-and-Patch Compilation" paper's authors showed very low startup time overhead and impressive compiled code performance compared with other popular JITs.
Is there a possibility that PHP's JIT can benefit from the copy-and-patch technique?
The text was updated successfully, but these errors were encountered: