mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 21:10:59 +00:00
The profile section in docs/contributing/benchmarks.md says how to run scripts/bench/boot-profile.ts, what the profile of the v1.44 runtime found (the worker graph as one 753 ms block, a live heap of about 165 MB of which the query compiler holds 50 and the catalogs 33) and what changed. scripts/bench/results/v1.45.0-*.md hold the before and after numbers per area, from back-to-back runs on the same machine. The size baselines take the lowered numbers.
29 lines
1.6 KiB
Markdown
29 lines
1.6 KiB
Markdown
# v1.45.0: boot and idle memory
|
|
|
|
`scripts/bench/boot-profile.ts`, production build, every role, heap ceiling
|
|
792 MB, against the seeded account, 300 s idle. `v1.45.0-before-boot` is the
|
|
v1.44 runtime, `v1.45.0-boot-after` the branch after the boot changes and
|
|
before the lazy match indexes, `v1.45.0-boot-final` the final tree.
|
|
|
|
| | before | final |
|
|
| --- | ---: | ---: |
|
|
| longest main-thread busy stretch, application code | 753 ms (worker graph, one block) | 336 ms (query compiler start, 324 ms before as well) |
|
|
| longest stretch loading the worker graph | 753 ms | 246 ms (one registrar) |
|
|
| live heap after full collections, idle | 162 to 172 MB | 142 to 153 MB |
|
|
| heap snapshot after 300 s idle | 172.3 MB | 159.5 MB |
|
|
| parsed locale catalogs in the heap | 32 objects, 14.1 MB | 2 objects, 1.6 MB |
|
|
| catalog chunk sources in the heap | 2 x 9.7 MB | none |
|
|
| module source strings over 50 KB | 44.2 MB | 39.8 MB |
|
|
| event-loop stalls logged (500 ms threshold) | 0 (monitor started late) | 0 (monitor first) |
|
|
|
|
Time to the first health answer and to a ready worker moved with the host's
|
|
load (1.6 s / 5.4 s before at load 9, 1.3 s / 3.2 s after at load 6) and is
|
|
not claimed as a result.
|
|
|
|
The rest of the 150 MB is the runtime itself: the query compiler (about
|
|
50 MB: its engine object, its WebAssembly source and chunk, twice), compiled
|
|
code (19 MB) and the remaining module sources. The used heap between full
|
|
collections stayed under 240 MB in both runs; the beta's 400 MB plateau is
|
|
garbage awaiting a collection under a larger limit plus the server caches of
|
|
real users, not a baseline the process cannot shed.
|