decimal Performance
Measurement Boundary
just bench decimal --target native runs the current Maremark suite in
src/bench/decimal and writes .tmp/bench/decimal.jsonl plus its analysis
file. This is a reproducible measurement artifact, not an immutable release
gate. The current branch has no checked-in decimal performance manifest or
threshold workflow; measurements use the Maremark suite below.
Workload
The suite measures add, multiply, and divide at 9, 34, 128, and 512 decimal
digits. Each cell compares a BigInt coefficient baseline
(kernel/coefficient), the contextual Decimal path (core/decimal, the
*_ctx operations) and the full DecimalChecked path (full/checked), and
validates every output against an exact BigInt reference. Input creation
and expected-value construction stay outside the timed payload.
Reading Results
MAREMARK_JSONL is the raw versioned event stream and MAREMARK_HOTSPOT is
the paired layer-overhead analysis. Results describe this tree, toolchain, and
target. They are useful for finding a hotspot, but they do not establish a
universal crossover or a release-wide latency bound.
Reproduction
just bench decimal --target native
just bench all --target native
The all-suite run also covers binary, GDA, and interval kernels. It is safe to compare artifacts only when the target, toolchain, workload, and benchmark protocol are held constant.
Semantic Gate
Benchmark equivalence checks are necessary but not sufficient. Optimized decimal routes must also pass coefficient differential tests and the pinned IEEE decimal and GDA conformance gates before they are accepted. See Conformance, Design, and the 0.7.1 performance and semantic audit.