Repository navigation
4.5: Profile every shipping component and qualify runtime performance #28
Description
What to deliver
A source-pinned profiling coverage ledger and repeatable evidence for every shipping Hyperion component: readers/codecs, worker scheduling and IPC, RabbitMQ, Elasticsearch writes/queries, state adapters and engines, Redis/caches, REST/streaming, SDK/plugins, Rust archive/snapshot paths and recovery. Prefer Bun 1.4.3 when qualification supports it and retain measured Node controls.
Acceptance criteria
- Every applicable component has a workload, correctness oracle, exact run manifest and CPU/native, allocation/GC, wall/wait, queue, storage and latency-distribution evidence, or an explicit unfinished/unmeasured status.
- Include live-only, backfill-only and mixed serving/backfill, cold/warm caches, deployment/reload, failure, restart and fork cases. Preserve live priority and reader backpressure.
- Report stage bottlenecks from correlated resource/critical-path evidence, not elapsed averages alone. Publish baseline variance, profiler overhead and measured before/after optimization results.
- Qualify Bun 1.4.3 separately from its checker/test-driver role; record native/transport/lifecycle limitations and the selected runtime per supported platform.
- Keep an ES release-review log with primary sources, applicable paths, profiling/correctness cases and exact tested server/client versions.
- Link bounded delivery slices and existing domain/backend/recovery qualification issues without duplicating them. Coverage is not closed by the initial Windows smoke or historical dense report.
First evidence
The recorded Windows x64 smoke passes Node24 cluster IPC, native uWS HTTP and native ABI roundtrip. Bun1.4.3 passes cluster IPC and ABI roundtrip but fails loading uWS20.67.0 with missing napi_register_module_v1. A local2kWAX shard has verified file/framing coverage; canonical blocks and historical ABI coverage remain prerequisites. Full stack throughput has not been measured in this workstream.
Release context
Part of the Hyperion 4.5 component profiling program, requested on 2026-10-18. The source-backed program and first runtime evidence are in https://github.com/eosrio/hyperion-tools/blob/46f12c97374d0b89102ec14c0d661d245f69fb1e/docs/performance/hyperion-4.5-profiling.md . Existing reliability work remains in eosrio/hyperion-history-api#187; retained-history upgrade and release selection remain in eosrio/hyperion-history-api#190 and #20. No automatic server upgrade or runtime-support claim follows from a benchmark.
Activity
igorls commentedon Oct 19, 2026
Parallel #195/#208 work now has reviewable deliverables:
Native Linux execution and exact fixture/process cleanup were verified on Hyperion-1. These correctness runs establish no shared-host capacity or runtime comparison. Next: persisted checkpoint/restart evidence in #195 and integrated live fork/late broker callbacks in #208, alongside #196 stage instrumentation. #197 transport work remains deferred. The release's compatibility and parity gates stay open.
igorls commentedon Oct 22, 2026
The operator selected Bun 1.4.4 for the shared TypeScript checker baseline; the coordinated repository changes are tracked in #61. Embedded TypeScript remains 7.0.2, and native Node 22/24 acceptance stays required.
The operator's Bun#27338 is bundled in the open #46528. A fresh read-only Hyperion-3 probe of the exact locked Elasticsearch client 8.19.1 / transport 8.10.1 / undici 8.3.0 against owned ES 9.5.5 passed info+close under Node 24.19.0 and reproduced the response.headers / pool.close failures on released Bun 1.4.4. The measured baseline and the exact future merged-build qualification gates are recorded in History API#197. Bundling and checker adoption do not establish Bun production runtime support.