| commit | d6d7515a63a09a6e8abe6c6e9d90a827fc83051f | [log] [tgz] |
|---|---|---|
| author | luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com> | Tue Jul 01 14:50:57 2025 |
| committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Jul 01 14:50:57 2025 |
| tree | 2032fd82c516f7d8df5a9f13c977cd0c8ac20be3 | |
| parent | 39560f5a603b316e9fd3428c0c487622aa1556ce [diff] |
Revert "platform: Improve modification performance of HeapObserverList" This reverts commit e5eb677d594ad07d109441556592bfd62b9fd3f0. Reason for revert: LUCI Bisection has identified this change as the cause of a test failure. See the analysis: https://ci.chromium.org/ui/p/chromium/bisection/test-analysis/b/6252732630433792 Sample build with failed test: https://ci.chromium.org/b/8710567560535674017 Affected test(s): [ninja://chrome/test:browser_tests/MessagingApiTest.LargeMessages](https://ci.chromium.org/ui/test/chromium/ninja:%2F%2Fchrome%2Ftest:browser_tests%2FMessagingApiTest.LargeMessages?q=VHash%3Addee393e1fa4b060) If this is a false positive, please report it at http://b.corp.google.com/createIssue?component=1199205&description=Analysis%3A+https%3A%2F%2Fci.chromium.org%2Fui%2Fp%2Fchromium%2Fbisection%2Ftest-analysis%2Fb%2F6252732630433792&format=PLAIN&priority=P3&title=Wrongly+blamed+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F6479957&type=BUG Original change's description: > platform: Improve modification performance of HeapObserverList > > Since https://crrev.com/15370ec03c1a44797aa2287807e3acdd78b70f0d the > list of observers is managed with a dense vector instead of a hash set > to allow fast iteration. This is useful as the set is iterated on e.g. > DOM modifications in rendering hot paths. > > This CL adds back the hashmap with a mapping from observer to index in > the vector to allow for amortized constant time add and remove. > Especially remove could otherwise suffer from O(N) handling with e.g. > lots of (>10^6) queued setTimeout() calls. > > Bug: 411573537 > Change-Id: Iafd5c4a2f3021fd7617324fbcaa03a85438950d4 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6479957 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1480870} > Bug: 411573537 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I498805768e86eea5654a3b2e9bb61e94737d8b68 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6696744 Commit-Queue: Mahmoud Rashad <mmrashad@google.com> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Mahmoud Rashad <mmrashad@google.com> Cr-Commit-Position: refs/heads/main@{#1481053}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.