Skip to content

Add opt-in timing tests for the compare editor open path#2799

Open
vogella wants to merge 1 commit into
eclipse-platform:masterfrom
vogella:compare-timing-tests
Open

Add opt-in timing tests for the compare editor open path#2799
vogella wants to merge 1 commit into
eclipse-platform:masterfrom
vogella:compare-timing-tests

Conversation

@vogella

@vogella vogella commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

This adds CompareOpenPerformanceTest, which measures the wall time from opening a compare editor until the text is visible and until the diff is reported, over several synthetic sizes and change densities, plus a unified diff scenario and a headless DocumentMerger microbenchmark. Repeated runs with warmup and median reporting produce stable, greppable PERF lines and a CSV instead of fragile timing thresholds; only a generous sanity bound is asserted. The suite is intentionally not part of AllCompareTests and runs on demand via -DtestClass=org.eclipse.compare.tests.performance.PerformanceTestSuite, so the default CI run is unaffected; it serves as the yardstick for the follow-up optimizations of the linked issue. RangeDifferencerTest is migrated off the retired org.eclipse.test.performance harness, which asserts nothing without its baseline database, onto the same pattern while keeping its correctness assertions, and the now unused dependency is removed from the test bundle. Current baseline on Linux: opening a 5000 line compare with 100 changes takes about 190 ms, with time to text equal to time to diff, confirming that nothing is shown until the diff completes.

Contributes to #2795

CompareOpenPerformanceTest measures wall time from opening a compare
editor until the text is visible and until the diff is reported, for
several synthetic file sizes and change densities, plus a unified diff
scenario and a headless DocumentMerger microbenchmark. Each scenario is
repeated, warmup repetitions are discarded, and the median is printed
as a greppable PERF line and written to a CSV; only a generous sanity
bound is asserted, so shared CI timing noise cannot produce spurious
failures. RangeDifferencerTest is migrated off the retired
org.eclipse.test.performance database harness, which asserted nothing
without a baseline database, onto the same repeated-run median pattern
while keeping its correctness assertions. The suite is intentionally
not part of AllCompareTests; it runs on demand via PerformanceTestSuite.

Contributes to eclipse-platform#2795
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Test Results

    54 files  ±0      54 suites  ±0   56m 38s ⏱️ - 1m 25s
 4 680 tests ±0   4 658 ✅ ±0   22 💤 ±0  0 ❌ ±0 
11 934 runs  ±0  11 781 ✅ ±0  153 💤 ±0  0 ❌ ±0 

Results for commit 0ab334c. ± Comparison against base commit e777932.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant