-
-
Notifications
You must be signed in to change notification settings - Fork 35.3k
Improve developer experience for v8 performance related flags #43407
Copy link
Copy link
Closed
Labels
feature requestIssues that request new features to be added to Node.js.Issues that request new features to be added to Node.js.help wantedIssues that need assistance from volunteers or PRs that need help to proceed.Issues that need assistance from volunteers or PRs that need help to proceed.performanceIssues and PRs related to the performance of Node.js.Issues and PRs related to the performance of Node.js.stalev8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
Metadata
Metadata
Assignees
Labels
feature requestIssues that request new features to be added to Node.js.Issues that request new features to be added to Node.js.help wantedIssues that need assistance from volunteers or PRs that need help to proceed.Issues that need assistance from volunteers or PRs that need help to proceed.performanceIssues and PRs related to the performance of Node.js.Issues and PRs related to the performance of Node.js.stalev8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
What is the problem this feature will solve?
Currently, it is very hard to use v8 flags like
--print-bytecodeor--log-allwith Node.js because it contains a lot of information related to Node.js's bootstrap which makes reading the output significantly harder than without Node.js.It would be really useful to be able to use v8 flags like
--print-bytecodeor--log-allin Node.js without having to navigate all the unrelated information. The V8 team created a lot of useful tools like https://v8.github.io/tools/head/ and it's not easy to use them in Node.js today.What is the feature you are proposing to solve the problem?
I am proposing to somehow allow logging (
--log-all) and other flags (--trace-opt--print-bytecodeetc) to ignore Node.js internals code the same way--inspect-brkand other flags ignore Node internals.This would allow users to observe the V8 compiler a lot more easily without being experts in the field.
What alternatives have you considered?
One can use the d8 shell which does not (obviously) bootstrap Node.js or another slimmer JavaScript runtime but those solutions require altering Node.js programs to achieve and thus do not provide as good performance data.
Ping @nodejs/v8 @addyosmani @bmeurer (since tooling and this can improve the experience for people needing to figure out why code is slow in Chrome).
Ping @nhelfman (is that the right GH?)