Skip to content

Report per operation timings and drop the unused performance framework - #4230

Merged
vogella merged 1 commit into
eclipse-platform:masterfrom
vogella:editor-performance-measurements
Aug 9, 2026
Merged

Report per operation timings and drop the unused performance framework#4230
vogella merged 1 commit into
eclipse-platform:masterfrom
vogella:editor-performance-measurements

Conversation

@vogella

@vogella vogella commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

The editor performance tests measured opening plus closing in a single block, and twelve editor switches in another, so a change in one operation could not be attributed, and nothing was printed at all. Both tests now time the individual operations and log min, median, 90th percentile and maximum, they warm up before measuring so that class loading and JIT no longer end up in the reported times, and they are bounded by time instead of a fixed iteration count.

Both tests also stop using org.eclipse.test.performance. The performance database it reports to has not been configured for years, so commitMeasurements and assertPerformance were no-ops and the tests could neither fail nor report anything, and its one value per measurement block model is what made the individual operations indistinguishable in the first place. In its place both tests now assert that the editor really opened and that the expected editor is active after a switch. EditorSwitchTest drops from roughly 145 to 16 seconds while collecting more than twice the samples. The bundle still requires org.eclipse.test.performance for the other tests, so the manifest is unchanged.

This is a first step towards measuring and then improving editor handling. Sample output of a local run:

OpenCloseEditor[perf_text] open      n=286  min=  21.67  p50=  24.86  p90=  26.79  max=  36.67 (ms)
OpenCloseEditor[perf_text] close     n=286  min=   7.18  p50=  10.26  p90=  11.22  max=  17.96 (ms)
EditorSwitch to [perf_outline]       n=400  min=   4.40  p50=   5.61  p90=   9.02  max=  26.54 (ms)
EditorSwitch to [perf_text]          n=400  min=   4.38  p50=   5.64  p90=   8.75  max=  17.19 (ms)

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Test Results

   858 files  ±0     858 suites  ±0   46m 58s ⏱️ - 4m 52s
 8 130 tests ±0   7 887 ✅ ±0  243 💤 ±0  0 ❌ ±0 
20 292 runs  ±0  19 638 ✅ ±0  654 💤 ±0  0 ❌ ±0 

Results for commit db8a67e. ± Comparison against base commit f78bd54.

♻️ This comment has been updated with latest results.

OpenCloseEditorTest measured opening and closing in one block and
EditorSwitchTest measured twelve switches in another, so a change in a
single operation could not be attributed. Both tests now time the
individual operations and print min, median, 90th percentile and maximum
via the new UIPerformanceTestUtil.reportTimings.

Drop org.eclipse.test.performance from both tests. The performance
database it reports to has not been configured for years, which made
commitMeasurements and assertPerformance no-ops and left the tests unable
to fail or to report anything. Its one measurement per block model is
also what made the individual operations indistinguishable. Without it
each operation is timed directly, and both tests assert that the editor
actually opened and that the expected editor is active after a switch.

Both tests warm up before measuring so that class loading and JIT no
longer end up in the reported times, and both are bounded by time
instead of a fixed iteration count. EditorSwitchTest drops from about
145 to 16 seconds while collecting more than twice the samples.
@vogella
vogella force-pushed the editor-performance-measurements branch from 5cfa04d to db8a67e Compare August 8, 2026 04:39
@vogella vogella changed the title Report per operation timings in the editor performance tests Report per operation timings and drop the unused performance framework Aug 8, 2026
@vogella
vogella merged commit aa34a9d into eclipse-platform:master Aug 9, 2026
18 checks passed
@vogella
vogella deleted the editor-performance-measurements branch August 9, 2026 07:30
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