-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
Severe performance regression with object spread operator introduced in v12.18.1 and v14.5.0 #34322
Comments
You might want to report this at https://bugs.chromium.org/p/v8/issues/list as well. |
agreed |
Hey! I was out for two weeks, but you are right of course. Created a v8 issue: https://bugs.chromium.org/p/v8/issues/detail?id=10763 |
Confirmed it's caused by 78eb420. |
The overhead here seems worse than #32049, correct? I wonder which regression our users are more likely to hit (although we have no way of knowing it for sure). The best thing would be to cherry-pick a fix as soon as one is available upstream, but until then we might want to consider reverting 78eb420. |
Btw. there has been some progress on the upstream bug which is alread on main branch. I have not tested the changes though. |
I'm working on this on the side, currently these are just cleanup CLs to pave the way for a proper fix. |
Ah, alright! Thanks for the work and the update!
|
Is this still an issue? I'm trying to update to v14.17 and was wondering if I should take this into account? 🤔 |
https://bugs.chromium.org/p/chromium/issues/detail?id=1204540 isn't fixed yet. I'm going to look into it again soon. It's unfortunately not that easy. |
Still open on the V8 side, but I'll close the issue here as not actionable. |
What steps will reproduce the bug?
When using the object spread operator to "join" two objects, the performance has decreased by ~ factor 20. This only happens with objects that have at least 50 keys and the keys of the first one need to be non trivial.
see:
https://github.com/uwinkelvos/node_object-spread_preformance-regression
If i had to guess it's related to:
af95bd7#diff-ff06109b32824fc20fec697f584a42e3
How often does it reproduce? Is there a required condition?
Always reproducible on aforementioned platforms.
What is the expected behavior?
performance level like 12.18.0
What do you see instead?
factor 20 performance loss.
Additional information
https://bugs.chromium.org/p/v8/issues/detail?id=10763
The text was updated successfully, but these errors were encountered: