Performance
Performance should be explained, not advertised.
The goal of this page is to show what is measured, how it is measured, and how to interpret
the numbers without treating microbenchmarks as universal truth.
Performance Philosophy
Performance is not one number either.
Just as bundle size should not be reduced to a single gzip number, runtime performance should
not be reduced to a single microbenchmark result. Different environments optimise for different
costs: hot-path throughput in the browser, startup latency in edge functions, parse time in
SSR contexts, and dependency depth in server environments.
mmntjs treats performance as a set of trade-offs that are measured, documented, and reproducible
rather than advertised. The benchmark harness, methodology, and results are all in the repository
so that reviewers can verify the claims against their own workloads.
Package Size
Size is measured at multiple layers, not a single gzip number.
Runtime speed and package size answer different questions. The package-size page reports
raw, minified, gzip, brotli, and bundled output sizes, along with scenario-based guidance
for which metric matters in each deployment context. Compressed transfer size (gzip/brotli)
is treated as one layer of the measurement, not the headline.
Key points for mmntjs specifically: core does not silently bundle timezone data, locale and
timezone data are measured and reported separately, and the lite/full/temporal/timezone entry
points have distinct size profiles. Tree-shaking and side-effect behavior are preserved so
bundlers can remove unused paths.