-
Notifications
You must be signed in to change notification settings - Fork 30k
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
deps: V8: cherry-pick 687d865fe251 #31007
Conversation
/cc @nodejs/benchmarking |
Benchmarks (updated, complete):
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Original commit message: [heap] Perform GCs on v8::BackingStore allocation This adds heuristics to perform young and full GCs on allocation of external ArrayBuffer backing stores. Young GCs are performed proactively based on the external backing store bytes for the young generation. Full GCs are performed only if the allocation fails. Subsequent CLs will add heuristics to start incremental full GCs based on the external backing store bytes. This will allow us to remove AdjustAmountOfExternalMemory for ArrayBuffers. Bug: v8:9701, chromium:1008938 Change-Id: I0e8688f582989518926c38260b5cf14e2ca93f84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803614 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#65480} PR-URL: #31007 Refs: v8/v8@687d865 Refs: #1671 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
This comment has been minimized.
This comment has been minimized.
I forced pushed it out again after realizing that the embedder string has not been updated. |
@BridgeAR Oh, my bad re: v8_embedder_string. The problem is that it did not work -- it's present in master: https://github.com/nodejs/node/commits/master Will file two alternative PRs to fix that now. |
0e21c1e has landed without a proper v8_embedder_string bump, this is a follow-up fix. Refs: 0e21c1e Refs: nodejs#31007
Original commit message: [heap] Perform GCs on v8::BackingStore allocation This adds heuristics to perform young and full GCs on allocation of external ArrayBuffer backing stores. Young GCs are performed proactively based on the external backing store bytes for the young generation. Full GCs are performed only if the allocation fails. Subsequent CLs will add heuristics to start incremental full GCs based on the external backing store bytes. This will allow us to remove AdjustAmountOfExternalMemory for ArrayBuffers. Bug: v8:9701, chromium:1008938 Change-Id: I0e8688f582989518926c38260b5cf14e2ca93f84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803614 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#65480} Refs: v8/v8@687d865 Refs: nodejs#1671
f707f1e
to
b7fa732
Compare
This reverts commit 0e21c1e. It landed without a proper v8_embedder_string bump, reverting to re-land cleanly. Refs: 0e21c1e Refs: nodejs#31007
@ChALkeR thanks for following up on this! I guess I force pushed to my fork instead of upstream. |
0e21c1e has landed without a proper v8_embedder_string bump, this is a follow-up fix. PR-URL: #31096 Refs: 0e21c1e Refs: #31007 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Closing as resolved. |
Original commit message: [heap] Perform GCs on v8::BackingStore allocation This adds heuristics to perform young and full GCs on allocation of external ArrayBuffer backing stores. Young GCs are performed proactively based on the external backing store bytes for the young generation. Full GCs are performed only if the allocation fails. Subsequent CLs will add heuristics to start incremental full GCs based on the external backing store bytes. This will allow us to remove AdjustAmountOfExternalMemory for ArrayBuffers. Bug: v8:9701, chromium:1008938 Change-Id: I0e8688f582989518926c38260b5cf14e2ca93f84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803614 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#65480} PR-URL: #31007 Refs: v8/v8@687d865 Refs: #1671 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
0e21c1e has landed without a proper v8_embedder_string bump, this is a follow-up fix. PR-URL: #31096 Refs: 0e21c1e Refs: #31007 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This needs a backport to land on v12.x-staging |
Opening this to test performance and memory benefits.Upd: good so far, marking as ready.This should reduce the memory load and improve the speed in cases that heavily rely on Buffer usage.
Refs: v8/v8@687d865
Refs: #1671
Original commit message: