peakmarkv0.1.1

What is measured

The five values peakmark reads, and why memory is read from the instance.

Value Rule How
raw size/raw bytes of the file
gzip size/gzip gzip at level 9
brotli size/brotli brotli at quality 11, 22-bit window
peak_memory mem/peak linear memory held after the last run of a scenario
growth_per_run mem/growth what each run after the first adds, averaged

Why memory

Linear memory only grows. A module that once needed 30 MiB holds 30 MiB for as long as the instance lives, so the highest value a scenario reaches is the number that matters, and what is held after the last run is that peak. peakmark reads it from the instance itself, not from the process around it.

Memory is counted in pages of 64 KiB.

Reported, not gated

--json also carries the memory the module declares, the size of its code, data and custom sections, and the time instantiation took. These values are reported and never fail a check.

Compression

gzip and brotli sizes come from peakmark’s own encoders. brotli is a Rust implementation: on the same settings it lands about 0.1 % above the reference encoder, not on the same byte. Set budgets from peakmark’s numbers.

Edit this page on GitHub · Docs for v0.1.1