Repository navigation
v0.3.3
A faster Python package. No library code changed, and every input parses
to what it did in 0.3.2.
Changed
- The Python package spends far less of each call in Python:
parse
takes a quarter to a third of the time it did (3.5 µs to 1.1 on Python
3.13, in docs/PERF.md),Parser.parseabout half, andLayout.parse
anddetecta half to two thirds, with the same answers. From Python,
parseis now faster thanstrptimegiven the format. The
default options go to the library as NULL and other options are built
once and shared; a result's fields are read in onestructunpack, its
TimeandResultbuilt without the dataclass__init__, and its
layout is a view of the result rather than a copy. A failed call is
run again with diagnostics, for its message, so a parse that succeeds
never pays for them.