Skip to content

Avoid allocations on every progress tick - #4479

Merged
vogella merged 1 commit into
eclipse-platform:masterfrom
vogella:lv/progress-tick-allocations
Oct 13, 2026
Merged

vogella merged 1 commit into
eclipse-platform:masterfrom
vogella:lv/progress-tick-allocations

Conversation

@vogella

@vogella vogella commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Every worked() and subTask() call of a running job goes through ProgressManager.refreshJobInfo, which allocated a capturing predicate and a stream over the progress listeners each time. During builds and indexing this happens for every unit of work a job reports. The listeners are now filtered in a plain loop, which reduces the allocations per progress tick while the behaviour stays the same.

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

   867 files  ±0     867 suites  ±0   48m 39s ⏱️ + 1m 30s
 8 438 tests ±0   8 196 ✅ ±0  242 💤 ±0  0 ❌ ±0 
21 189 runs  ±0  20 506 ✅ ±0  683 💤 ±0  0 ❌ ±0 

Results for commit 2068b7c. ± Comparison against base commit 9d4d42b.

♻️ This comment has been updated with latest results.

Every worked() and subTask() of a running job goes through
refreshJobInfo, which allocated a capturing predicate and a stream over
the progress listeners. During builds and indexing this runs for every
unit of work reported.

Filter the listeners in a plain loop instead.

Assisted-by: multiple AI agents and layers of automated tooling 🤖
@vogella
vogella force-pushed the lv/progress-tick-allocations branch from 1e35e48 to 2068b7c Compare October 12, 2026 22:19
@vogella
vogella merged commit 38a8972 into eclipse-platform:master Oct 13, 2026
18 checks passed
@vogella
vogella deleted the lv/progress-tick-allocations branch October 13, 2026 10:55
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