Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f486b35a0a3a1560336597ee9d8bcb120550b4e5
https://github.com/WebKit/WebKit/commit/f486b35a0a3a1560336597ee9d8bcb120550b4e5
Author: Issac Roy <[email protected]>
Date: 2026-08-24 (Mon, 24 Aug 2026)
Changed paths:
M Tools/Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js
Log Message:
-----------
[Results DB] Really slow with large numbers of configurations
https://bugs.webkit.org/show_bug.cgi?id=286603
rdar://144089048
Reviewed by Sam Sneddon.
Two loops in the timeline were quadratic in the number of commits, which
dominates page load when many configurations are displayed.
commitsForResults() merged each candidate commit into a sorted array by
scanning from index 0, restarting that scan for every result. Collect commits
in a Map keyed by uuid and sort once at the end instead.
scaleForCommits() grew its result with unshift(), which moves every existing
element. The scale has the same length and indices as commits, so preallocate
it and fill in place.
* Tools/Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(commitsForResults):
(scaleForCommits):
Canonical link: https://commits.webkit.org/319738@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications