Skip to content

Report per operation timings in OpenMultipleEditorTest - #4239

Merged
vogella merged 1 commit into
eclipse-platform:masterfrom
vogella:perf/open-multiple-editor-timings
Aug 13, 2026
Merged

Report per operation timings in OpenMultipleEditorTest#4239
vogella merged 1 commit into
eclipse-platform:masterfrom
vogella:perf/open-multiple-editor-timings

Conversation

@vogella

@vogella vogella commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Applies the same treatment to OpenMultipleEditorTest that OpenCloseEditorTest and EditorSwitchTest already received: it drops org.eclipse.test.performance, whose measurements went nowhere because the performance database has not been configured for years, and times the individual operations instead.

Each of the 100 opens is now timed on its own and the close phase is timed per variant. Since this test is about the accumulation of editors, the first and last 25 opens are reported as separate distributions, so it is visible whether an open gets more expensive as the editor area fills up. The test warms up before measuring and is bounded by time rather than a single fixed round.

The practical gain is that the test can now fail and can now report something. It asserts that every editor really opened and that none are left behind, and a manual run prints min, median, 90th percentile and maximum per operation. The first numbers already show that closing 100 editors one by one costs noticeably more than closeAllEditors, and that the per open cost does not grow at the floor as editors accumulate.

Also fixes the parameterized display name, which labelled the extension as closeAll and the closeAll flag as closeEach.

OpenMultipleEditorTest measured opening 100 editors and closing them all
in one block, so neither an individual open nor the teardown could be
attributed. Each open is now timed on its own, and the close phase is
timed per variant, one sample for closeAll and one per editor for
closeEach.

Since the subject of this test is the accumulation of editors, a single
distribution over all 100 opens would average away what is being
measured. The first and the last 25 opens are therefore reported
separately, which makes visible whether an open gets more expensive as
the editor area fills up.

Drop org.eclipse.test.performance, following the same move already made
for OpenCloseEditorTest and EditorSwitchTest. The performance database it
reports to has not been configured for years, which made
commitMeasurements and assertPerformance no-ops and left the test unable
to fail or to report anything.

The test warms up before measuring so that class loading and JIT no
longer end up in the reported times, and it is bounded by time instead of
a single fixed round. It now asserts that every editor actually opened
and that none are left behind, so it can fail. The parameterized display
name was showing the extension under a closeAll label and the closeAll
flag under a closeEach label.

Widen the label column in reportTimings so the longer labels stay
aligned.
@github-actions

Copy link
Copy Markdown
Contributor

Test Results

   858 files  ±0     858 suites  ±0   53m 59s ⏱️ - 5m 5s
 8 157 tests ±0   7 914 ✅ ±0  243 💤 ±0  0 ❌ ±0 
20 373 runs  ±0  19 719 ✅ ±0  654 💤 ±0  0 ❌ ±0 

Results for commit b2f9757. ± Comparison against base commit d5c3e7f.

@vogella

vogella commented Aug 13, 2026

Copy link
Copy Markdown
Contributor Author

Change in test code, performance tests are not part of the CI verification (only compiled)

@vogella
vogella merged commit 7bb7740 into eclipse-platform:master Aug 13, 2026
18 checks passed
@vogella
vogella deleted the perf/open-multiple-editor-timings branch August 13, 2026 09:00
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