Skip to content

Performance

The hot path is a native C scanner and bulk projector. Python receives contiguous NumPy arrays instead of interpreting fixed-format mesh values one token at a time. The GIL is released during native reads.

The mesh projector filters its small command vocabulary before field splitting, so a wide unrelated material or table record cannot eject an otherwise valid deck from the native path. Deterministic writer output uses fixed-width mesh blocks for the same reason, with sparse documented NMODIF corrections only when a binary64 coordinate or rotation requiring a seventeenth digit must be retained exactly.

Warm-cache diagnostic measurements over a public ds.dat acceptance input on one development machine:

Path Approximate throughput
Native line scan 2.6โ€“3.1 GB/s
Native deck/block classification 0.49โ€“0.59 GB/s
Native mesh projection 217โ€“242 MB/s
Full strict semantic read_dat 36.5 MB/s

The final release audit remeasured the native mesh path at 235.7 MB/s median and the complete strict semantic path at 36.5 MB/s on the same 32,163,856-byte public input. These are observations, not product guarantees. No private input contributes a published size, topology, or timing. Release CI also runs the pure-C tests and the Python/C ABI suite so performance work cannot bypass correctness.

For applications that need only mesh or binary arrays, use read_native_mesh and the read_native_* result/matrix functions to avoid semantic-model cost.

Release CI repairs and retags the Linux ABI3 wheel as manylinux_2_34_x86_64, rejects local-home or Nix-store paths in the archive, and installs that exact artifact in a clean environment. The Windows leg independently builds and imports its native ABI3 wheel.