Skip to content

refactor: optimize Beacon timers and bump DMCBK to preview.8 - #5

Merged
milutinke merged 3 commits into
masterfrom
perf/umpk-beta7
Oct 11, 2026
Merged

milutinke merged 3 commits into
masterfrom
perf/umpk-beta7

Conversation

@milutinke

Copy link
Copy Markdown
Member

Bump DMCBK to 0.1.0-preview.8, update UMPK to 0.9.0-beta.7, and cut repeated allocations in Beacon timer polling. Reuse dispatch plans until registrations change, and create firing records only when a timer is due. Reloads and removals invalidate the cache; each active tick keeps its snapshot across awaits.

Mean of five alternating process pairs, before → after. Both variants use UMPK beta.7; measurements precede the DMCBK package version bump.

Workload Scripts Allocation B/poll CPU µs/poll Process RAM MB
Idle 1 1,864 → 352 1.39 → 0.50 108.09 → 107.04
Idle 32 18,384 → 352 10.85 → 2.89 109.34 → 94.08
Idle 128 70,705 → 353 33.66 → 8.00 111.58 → 82.38
Mixed 1 6,717 → 5,211 8.76 → 7.74 106.46 → 106.70
Mixed 32 106,957 → 89,083 141.55 → 123.03 113.76 → 112.85
Mixed 128 419,231 → 349,411 320.79 → 275.69 125.98 → 123.87

These are unpaced, headless workloads. A poll checks recurring and one-shot timers. Mixed activity also advances virtual time 50 ms and dispatches a seeded chat, inventory or player-list event. RAM includes the runtime and dependencies; live Minecraft capacity was not measured.

Validation: 1,963 tests passed, including timing, ordering, reload/removal and collectibility regressions. Release build and formatting passed. All nine packages packed, and all affected samples, including WebBackend, built against the exact local packages with UMPK beta.7.

@milutinke
milutinke merged commit 91dedcd into master Oct 11, 2026
6 checks passed
@milutinke
milutinke deleted the perf/umpk-beta7 branch October 11, 2026 19:04
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