Improves CI performance - #22995
Draft
NickSdot wants to merge 8 commits into
Draft
Conversation
NickSdot
force-pushed
the
perf/ci-build-times
branch
2 times, most recently
from
August 2, 2026 09:16
c4f48b7 to
6ce446c
Compare
NickSdot
force-pushed
the
perf/ci-build-times
branch
2 times, most recently
from
August 2, 2026 10:01
87c7e25 to
541ac21
Compare
NickSdot
force-pushed
the
perf/ci-build-times
branch
10 times, most recently
from
August 2, 2026 17:09
4010558 to
b9e37cf
Compare
NickSdot
force-pushed
the
perf/ci-build-times
branch
3 times, most recently
from
August 2, 2026 19:41
5f23b04 to
70b3bec
Compare
Girgias
reviewed
Aug 2, 2026
NickSdot
force-pushed
the
perf/ci-build-times
branch
from
August 2, 2026 21:18
70b3bec to
9de2a2e
Compare
NickSdot
force-pushed
the
perf/ci-build-times
branch
from
August 3, 2026 09:17
6a1ba96 to
2fb2a6e
Compare
NickSdot
force-pushed
the
perf/ci-build-times
branch
from
August 3, 2026 09:32
2fb2a6e to
09834c1
Compare
NickSdot
force-pushed
the
perf/ci-build-times
branch
3 times, most recently
from
August 3, 2026 15:06
6ac7397 to
ae7dcec
Compare
NickSdot
force-pushed
the
perf/ci-build-times
branch
from
August 3, 2026 15:42
ae7dcec to
1c8ede1
Compare
Contributor
Author
|
@arnaud-lb maybe it is worth prioritising this one before the others. Would give me a much faster feedback loop for all the rest that likely will receive some more pushes if there is feedback from you to address. Will you look at this one too or should I mark as ready to ping the reviewers? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tl/dr: ~45m -> ~22m; this is CI-only stuff -- everything in #22917 reduces further.
Results
f47a44e (perf: speed up Windows CI)
Cache hit rate: ~95%.
8e526f1 (perf: speed up benchmark checkout)
Avoids downloading unnecessary file contents. From ~1:11 to ~0:20, which is a 72% improvement.
653fa83 (perf: keep non-Windows compiler caches fresh)
Before: the older the weekly cache, the lower the hit rate. 2026-07-27 was ~99% (0:30s) while 2026-08-02 was only ~25% (6:52). Rolling cache solves that.
Cache hit rate: ~99%.
(1) when cache not fresh.
6c933cb (perf: skip unused ASAN setup)
Saves 1:37 per ASAN run. Depending on download speeds shaves off 1–3 min.
a33ae4c (perf: run Function JIT tests concurrently)
Splits from sequentially to separate jobs for normal (16:37m) and JIT (18:47 ); results in 11 minutes earlier finish.
3dcc018 (perf: shard long running jobs)
Critical path dropped from 44:27 to 22:49 (49%). Slowest shards finished in 19:03 for Linux ASAN, 17:39 for Windows x64 ZTS, and 14:43 for Alpine ASAN.
58c43d5 (perf: aded circle ci compile caching)
Cache hit rate: ~99%
Warm cache compile down from ~8:17 to ~3:23, which is 59% improvement. Works slightly different than the other caching. Circle isolates caches that belong to external forks. Trusted
masterbuilds roll the source repository cache forward; same-repository PRs can restore it, fork PRs start cold and then roll their own forward.