Skip to content

Report per operation timings in the editor performance tests - #4230

Open
vogella wants to merge 1 commit into
eclipse-platform:masterfrom
vogella:editor-performance-measurements
Open

Report per operation timings in the editor performance tests#4230
vogella wants to merge 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 at all was printed when no performance database is configured. 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 land in the first measured block, and they are bounded by time instead of a fixed iteration count. EditorSwitchTest drops from roughly 145 to 35 seconds while collecting more samples than before.

The recorded series are unchanged, so the existing performance database path and the "UI - Open/Close Editor" summary keep working as before.

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

OpenCloseEditor[perf_text] open      n=210  min=  32.23  p50=  39.72  p90=  56.98  max=  72.49 (ms)
OpenCloseEditor[perf_text] close     n=210  min=  10.29  p50=  15.91  p90=  21.73  max=  32.16 (ms)
EditorSwitch to [perf_outline]       n=180  min=   5.13  p50=  15.44  p90=  22.83  max=  29.38 (ms)
EditorSwitch to [perf_text]          n=180  min=   5.46  p50=  13.79  p90=  21.70  max=  35.02 (ms)

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, which is the only output
available when no performance database is configured.

Both tests warm up before measuring so that class loading and JIT no
longer land in the first measured block, and both are bounded by time
instead of a fixed iteration count. EditorSwitchTest drops from about
145 to 35 seconds while collecting more samples than before.

The recorded series are unchanged: the number of operations per
measurement block stays the same, as does the "UI - Open/Close Editor"
summary tag.
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Test Results

   858 files  ±0     858 suites  ±0   43m 39s ⏱️ - 8m 11s
 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 5cfa04d. ± Comparison against base commit f78bd54.

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