-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
v8: enable maglev on supported architectures #51360
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
Conversation
Enable V8's new maglev compiler by default on supported architectures. This brings modest performance improvements for short-lived workloads like CLI programs (see the linked issue) and brings Node.js's configuration slightly closer to Google Chrome's. I marked this change as semver-major because Maglev can theoretically cause performance regressions, although I haven't seen an example of that in the (somewhat limited) benchmarking I've done. **Notable Change Summary:** V8's Maglev Compiler is now enabled by default on supported architectures (https://v8.dev/blog/maglev). Maglev improves CPU performance for short-lived CLI programs by around 8%. Fixes: nodejs#50690
|
The
notable-change
Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment. Otherwise, the commit will be placed in the Other Notable Changes section. |
|
@nodejs/python |
|
Breaks ARM cross-compilation: https://ci.nodejs.org/job/node-cross-compile/46243/nodes=cross-compiler-rhel8-armv7-gcc-10-glibc-2.28/ |
It looks like the failing part is: It's a little difficult to tell what got killed here, but it looks like the Makefile is running without parallelism, so I'm assuming it's the compilation of I looked through the other CI failures and they look unrelated, except potentially the Ubuntu arm64 debug build which has several suspicious looking segfaults. Anyway, I'm going to resume the CI job. |
RafaelGSS
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have a benchmark script or something added to nodejs internal benchmark to measure the impact of this new compiler?
Hm, that seems like a big lift. In my mind V8 is responsible for "general Javascript performance" and Node.js is responsible for "standard library performance". I'm not sure if trying to create a representative general Javascript performance benchmark in Node.js would be possible, but maybe I'm misunderstanding your request. If you're looking for some ad-hoc benchmarking, there's some of that in the linked issue. |
|
Perhaps the benchmarks added in #50684 would do? |
Yes, it's a good idea. I tried that in #50690 (comment). |
That works! I just wanted to check the impact of this PR even in micro-benchmarks. Just for comparison reasons. |
|
Landed in 1a5acd0 |
Enable V8's new maglev compiler by default on supported architectures.
This brings modest performance improvements for short-lived workloads
like CLI programs (see the linked issue) and brings Node.js's
configuration slightly closer to Google Chrome's.
I marked this change as semver-major because Maglev can theoretically
cause performance regressions, although I haven't seen an example of
that in the (somewhat limited) benchmarking I've done.
Notable Change Summary: V8's Maglev Compiler is now enabled by
default on supported architectures (https://v8.dev/blog/maglev). Maglev
improves CPU performance for short-lived CLI programs by around 8%.
Fixes: #50690