-
Notifications
You must be signed in to change notification settings - Fork 71
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
performance regression against master #40
Comments
@nodejs/v8 |
Can you also try with |
I downloaded an old canary build, I'm now on node-v10.0.0-v8-canary20180306870146ff63-darwin-x64. master (not sure why but I can't replicate the numbers I had this morning):
with
without
Essentially yes, (With the new release I can't replicate the effect on http, which is good) |
Spectre and Meltdown related mitigations, not needed for usual use of node.js AFAIK. |
oh nice. Can we flip the switch to have |
@hashseed I used an older binary, I wrongly guessed that the files were sorted, but they weren't.
What I mean is, can we flip this behavior in Node.js against V8? It seems they are not part of Node.js threat model, so we can live without them and enjoy better performance. |
Yes. The best way to do this is to add GYP configs to pass |
after we set DISABLE_UNTRUSTED_CODE_MITIGATIONS, can users still do something like |
@hashseed Would this be needed on V8 6.6? Should we do this change after nodejs/node#19201? |
Yes and no. It sets the default value for the flag, so you can still use
Ideally as part of the PR to update V8 to 6.6, yes. |
@hashseed knowing what you just said, should we instead compile with untrusted code mitigations and disable them by default when Node starts (with |
Yes, that sounds good. |
You'll probably need this on 6.5 as well. I'm not so eager to have untrusted code mitigations build into the Node snapshot. I think it's better to consistently disable them via the GN/GYP flag. If someone needs a Node with these mitigations, he/she should build a proper binary. We're already stretching the test matrix quite a bit here... |
This can be closed then |
I got a performance regression from master to canary.
https://github.com/mcollina/syncthrough/blob/master/benchmarks/basic.js
In master:
On canary:
On node 9.7.0:
On node 8.10.0:
I can see a similar regression on http as well, if we run:
And then we load test with
npx autocannon -c 100 -d 5 -p 10 localhost:3000
twice and get the second number:The text was updated successfully, but these errors were encountered: