commit | 0fb20fcf124008c53b2c81fa5ba215391dbc87fa | [log] [tgz] |
---|---|---|
author | Steinar H. Gunderson <sesse@chromium.org> | Wed Mar 05 10:43:38 2025 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Mar 05 10:43:38 2025 |
tree | f8d7dc37a8a8b043178a865238f8f1cd2d1449d6 | |
parent | bd47ae5105acdbdc816de78a9846fc37e6353dc5 [diff] |
Remove the last mixed-inheritance ComputedStyle groups. The “svg” group is the only one left that have both inherited and non-inherited members/subgroups, and thus may need to be pieced together anew as opposed to just (lazily) copied. We do some moves to remedy this: - Move “svg->svginherited” to the top. - Move the other inherited subgroups of “svg” into subgroups on “svginherited”. - Move Font from the top to “inherited” to not make ComputedStyle any bigger. (It was moved to the top at a point where Font wasn't on Oilpan and things were generally slightly different from today.) Also add an assertion so that we don't introduce this anew inadvertently. We tried a couple of different alternatives (that involved e.g. not moving Font), but this one seemed to benchmark slightly better. Style perftest (Zen 3, LTO but no PGO): Initial style (µs) Before After Perf 95% CI (BCa) =================== ========= ========= ======= ================= ECommerce 5532 5446 +1.6% [ +1.1%, +2.3%] Encyclopedia 43587 43650 -0.1% [ -1.2%, +0.9%] Extension 57426 56274 +2.0% [ +1.5%, +3.3%] News 22293 22156 +0.6% [ +0.1%, +1.5%] Search 7734 7640 +1.2% [ +0.7%, +2.4%] Social1 14014 13914 +0.7% [ +0.2%, +1.5%] Social2 8780 8650 +1.5% [ +1.0%, +2.6%] Sports 26458 26285 +0.7% [ -0.5%, +1.5%] Video 18143 17814 +1.8% [ +1.2%, +3.6%] Geometric mean +1.1% [ +0.7%, +1.5%] Recalc style (µs) Before After Perf 95% CI (BCa) =================== ========= ========= ======= ================= ECommerce 3000 2934 +2.2% [ +1.7%, +2.9%] Encyclopedia 33945 33294 +2.0% [ +1.3%, +2.5%] Extension 45428 44666 +1.7% [ +1.1%, +2.5%] News 11069 10968 +0.9% [ +0.3%, +1.5%] Search 2851 2824 +0.9% [ +0.4%, +1.6%] Social1 6907 6798 +1.6% [ +0.7%, +3.6%] Social2 4291 4225 +1.6% [ +1.0%, +2.1%] Sports 12996 12765 +1.8% [ +1.3%, +2.4%] Video 7575 7459 +1.5% [ +0.5%, +2.5%] Geometric mean +1.6% [ +1.2%, +2.0%] Speedometer3 (M1 Pinpoint, LTO but no PGO, significant results at 99% CI only): NewsSite-Next [ -0.6%, -0.0%] TodoMVC-JavaScript-ES5 [ -0.5%, -0.1%] TodoMVC-Vue [ -0.6%, -0.1%] Change-Id: I8a94056a275b731fe2955aa45c1435bb54101d75 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6321928 Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org> Commit-Queue: Steinar H Gunderson <sesse@chromium.org> Cr-Commit-Position: refs/heads/main@{#1428214}
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.