Skip to content
scinumtoolsPublic

About

Official SNT3 benchmarks and comparisons

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

Repository files navigation

SNT Benchmarks

Official benchmark and comparison repository for SciNumTools3 (SNT3).

All published figures and results use the pinned versions recorded with each benchmark. Local SNT3 checkouts are for debugging and are not used for the published references.

Benchmarks

Unit conversion accuracy

Binary64 conversion error for five representative conversions, measured against exact rational references. Results report ULP distance and relative error for the pinned unit-library releases.

Methods, full results, and run instructions.

Unit conversion accuracy against exact rational references

Uncertainty propagation

Configured unit-uncertainty cases compare first-order propagation with seeded Monte Carlo estimates. All three libraries appear in the fast track; SNT3 0.9.12 and MetroloPy also report Monte Carlo propagation with central 95% intervals.

Methods, full results, and run instructions.

Uncertainty propagation compared with Monte Carlo references

Python physical units

Comparison of SNT3, Pint, unyt, and Astropy unit operations across scalar and array sizes. The figure shows median time per operation, with pinned library versions in the legend; NumPy is included as a unitless baseline.

The workload categories are informed by Goldbaum et al.'s unit-library benchmark (2018).

Methods, quick results, GitHub Actions pyperf screen, and run instructions.

Python unit-library timings by operation and input size

Python configuration parsing

Comparison of JSON, YAML, TOML, and DIPL for equivalent nested data. At 10,000 parameters, DIPL takes 141.7 ms to parse and 160.5 ms to also build a common Python mapping. SNT3 0.9.12 reduces DIPL's parser-only median by about 59% versus the preceding quick snapshot; TOML and JSON remain faster in this workload.

The method follows the equivalent-structure and equality-check pattern in Canop's configuration deserializer benchmark.

Methods, full results, and run instructions.

Python JSON, YAML, TOML, and DIPL parser-output times by parameter count

Python JSON, YAML, TOML, and DIPL common-mapping times by parameter count

Typed configuration loading

End-to-end loading of equivalent scientific settings, including typed validation, defaults, derived values, and unit-bearing values. At 1,000 parameters, DIPL takes 8.62 ms, versus 25.5 ms for YAML + Pydantic + Pint, 2.69 ms for TOML + Pydantic

  • Pint, and 0.196 ms for JSON + Pydantic + Pint. In this run DIPL is about 3× faster than the YAML stack and slower than TOML and JSON.

Methods, full results, and run instructions.

Typed scientific configuration loading times for DIPL and JSON, YAML, and TOML with Pydantic

Schema and configuration validation

Feature support and validation timing for DIPL, JSON Schema, CUE, and Pkl, with capabilities linked to primary project documentation. Both panels use SNT3 0.9.12. In this run DIPL and CUE have similar native CLI batch times; the in-process panel compares DIPL and JSON Schema. The panels use different scopes and should be compared separately.

Feature matrix, methods, analysis, and full results.

Pinned schema validation timings in two panels: native CLI workflows for DIPL, JSON Schema, CUE, and Pkl; and in-process Python APIs for DIPL and JSON Schema

About

Official SNT3 benchmarks and comparisons

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages