-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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 in 4.x with objects paired with delete #3538
Comments
You may want to try switching over to But regardless as you stated this is a v8 issue. Don't believe there's much we can do about that. |
Yes, a |
Started the discussion here. I recommend closing this one. |
Great, thanks @ofrobots and @aheckmann 👍 |
This backport fixes a performance pathology in how arrays grow/shrink. Fixes: nodejs#3538 V8-Commit: v8/v8@066747e Original commit message: Make sure that NormalizeElements and ShouldConvertToFastElements are … …based on the same values BUG=v8:4518 LOG=n Review URL: https://codereview.chromium.org/1472293002 Cr-Commit-Position: refs/heads/master@{nodejs#32265}
This backport fixes a performance pathology in how arrays grow/shrink. Fixes: #3538 V8-Commit: v8/v8@066747e PR-URL: #4625 Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: targos - Michaël Zasso <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]> Original commit message: Make sure that NormalizeElements and ShouldConvertToFastElements are … …based on the same values BUG=v8:4518 LOG=n Review URL: https://codereview.chromium.org/1472293002 Cr-Commit-Position: refs/heads/master@{#32265}
This backport fixes a performance pathology in how arrays grow/shrink. Fixes: nodejs#3538 V8-Commit: v8/v8@066747e PR-URL: nodejs#4625 Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: targos - Michaël Zasso <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]> Original commit message: Make sure that NormalizeElements and ShouldConvertToFastElements are … …based on the same values BUG=v8:4518 LOG=n Review URL: https://codereview.chromium.org/1472293002 Cr-Commit-Position: refs/heads/master@{nodejs#32265}
This backport fixes a performance pathology in how arrays grow/shrink. Fixes: #3538 V8-Commit: v8/v8@066747e PR-URL: #4625 Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: targos - Michaël Zasso <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]> Original commit message: Make sure that NormalizeElements and ShouldConvertToFastElements are … …based on the same values BUG=v8:4518 LOG=n Review URL: https://codereview.chromium.org/1472293002 Cr-Commit-Position: refs/heads/master@{#32265} Commit metadata for v4.x-staging: PR-URL: #4655 Reviewed-By: James M Snell <[email protected]>
This backport fixes a performance pathology in how arrays grow/shrink. Fixes: #3538 V8-Commit: v8/v8@066747e PR-URL: #4625 Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: targos - Michaël Zasso <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]> Original commit message: Make sure that NormalizeElements and ShouldConvertToFastElements are … …based on the same values BUG=v8:4518 LOG=n Review URL: https://codereview.chromium.org/1472293002 Cr-Commit-Position: refs/heads/master@{#32265} Commit metadata for v4.x-staging: PR-URL: #4655 Reviewed-By: James M Snell <[email protected]>
This spun out from exploring isaacs/node-lru-cache#54
It may very well be a v8 issue, but I haven't been able to find the right circumstances to reproduce due to v8's lack of
setImmediate
When running the following program in 4.x (on Linux or Mac), there's a huge slowdown around iteration 92000 that does not occur in 3.x or below:
So in 4.x the output looks like:
Using 3.3.1 or lowering
max
to 4096 looks like:I'm 85% sure this is the same issue, or at least very similar to the one that's exhibited in isaacs/node-lru-cache#54 – just as a more refined reproduction. The main difference is in the lru-cache issue it doesn't seem to ever speed up again (some sort of reoptimization?).
The text was updated successfully, but these errors were encountered: