benchmarks: cover retained renderer workloads - #75
Open
tritao wants to merge 15 commits into
Open
Conversation
tritao
force-pushed
the
stack/retained-workload-coverage
branch
2 times, most recently
from
August 22, 2026 10:10
bcdf4b4 to
4d5b25f
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 22, 2026 10:25
4d5b25f to
f4bf2c5
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 22, 2026 10:38
f4bf2c5 to
12854ca
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 22, 2026 10:49
12854ca to
f632c47
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
3 times, most recently
from
August 22, 2026 13:47
2ce9ab0 to
fcd432f
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 22, 2026 15:57
fcd432f to
657c951
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 22, 2026 18:51
657c951 to
167b9a2
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 22, 2026 18:57
167b9a2 to
0052bf1
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 22, 2026 19:48
0052bf1 to
58d328f
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 23, 2026 01:44
58d328f to
921ebce
Compare
tritao
marked this pull request as ready for review
August 23, 2026 01:46
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 23, 2026 02:13
921ebce to
4716b37
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 23, 2026 03:00
4716b37 to
7edf3d3
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 23, 2026 14:51
802019b to
0688372
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 23, 2026 15:02
0688372 to
281bc82
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 23, 2026 15:15
281bc82 to
2126502
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 23, 2026 17:46
4ef80b5 to
0ce44df
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
August 23, 2026 21:21
7821726 to
aa83326
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
September 1, 2026 19:18
aa83326 to
1bb7394
Compare
tritao
force-pushed
the
stack/retained-workload-coverage
branch
from
September 1, 2026 21:56
1bb7394 to
2e1dd7e
Compare
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.
Builds on #74 and completes the workload/contract coverage for the current
retained-performance stack.
Purpose
The earlier benchmark foundation provides measurement tools, but performance
contracts need scenes that resemble the renderer's important scaling cases:
large incremental edits, repeated geometry, staged assemblies, selection, and
picking. Without shared workload definitions, two renderer paths can appear
comparable while doing different semantic work.
This PR expands the shared workloads and turns the architectural expectations
of the optimization stack into deterministic, non-timing assertions. It adds
coverage and diagnostics rather than another renderer optimization.
What changed
workloads.
viewer.
Performance contracts
Wall-clock results remain informational. Tests instead assert properties such
as whether an eligible edit avoided a full draw-list rebuild, whether plan or
resource revisions changed, whether application-owned framebuffers were
preserved, and whether all renderer paths produced equivalent output.
These contracts make later performance changes reviewable without depending
on noisy CI timing thresholds.
Validation
Patch Set
Important
This PR is part of a stacked series (
26/27) and depends on025-pr-74(the PR base branch). Review/merge in order.freecad-master025-pr-7426/27bbd2f9489d..2e1dd7ed70Commits
2e1dd7ed7: benchmarks: cache ordered submission analysis534649abe: benchmarks: cover staged assembly interactions69cec71a5: benchmarks: model staged assembly submissionaa67fb682: benchmarks: report assembly submission phases78012f3ef: benchmarks: isolate assembly transform curvesf7393be70: benchmarks: measure ordered submission opportunityea835112f: benchmarks: report assembly visual submissions585e0121e: benchmarks: isolate incremental mutation submission costsa6653d09a: benchmarks: align retained workload contractsce2ff75e3: tests: preserve application-owned frame targets40853f81f: tests: enforce retained cache invalidation contracts30e0a1c5c: benchmarks: focus retained mutation profilinga34a72150: docs: record retained benchmark contractsf59272719: benchmarks: cover retained interaction scaling6242e6bd2: benchmarks: extend retained mutation workloads