# 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.