Skip to content

v1.1.1

Latest

Choose a tag to compare

@oe oe released this 03 Oct 18:13

NumBase 1.1.1 improves exact integer conversion performance while preserving the public API, validation rules, digit formats and no-BigInt compatibility.

  • Extract multiple digits per BigInt division and avoid temporary encode arrays.
  • Use native formatting through radix 36 with DIY symbol translation, and native parsing for long binary/octal/hexadecimal input after strict validation.
  • Keep short decoding cheap by separating native parsing and delaying BigInt radix allocation.
  • Highlight arbitrary radices and caller-defined digit symbols, with reproducible competitor comparisons and raw measurements.

Measured on Node 22/24 against 1.1.0: sampled Base62 encoding is approximately 2.2–2.7× faster for 64-/128-bit IDs and 4.8–5.4× for 1,000-digit decimal strings; long hexadecimal decoding is approximately 3.4–3.6× faster. These are workload-specific measurements, not a universal performance guarantee.

Validation: 36 Vitest tests, 100% statements/branches/functions/lines, consumer TypeScript and packed-installation checks, Node 22/24 CI, and verification of the published npm tarball against the main-branch artifacts. No new runtime dependencies.

npm: https://www.npmjs.com/package/numbase/v/1.1.1
Comparison: https://github.com/oe/NumBase/blob/master/benchmarks/competitors/README.md