Repository navigation
v0.4.1
·
20 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
hessboost v0.4.1
Patch release speeding up single-row x86_64 inference by 28% by pinning the tree row-walk step to cmp + adc, alongside development tooling updates. No breaking changes.
Full Changelog: v0.4.0...v0.4.1
Highlights Since v0.4.0
Performance
- Faster single-row inference on x86_64 (#173):
simd::step_if_greaternow uses an x86_64 inline-assembly path (cmp+adc) mirroring AArch64'scmp+cinc, while other architectures retain the plain select. Previously, LLVM's SLP vectorizer compiled the eight-tree lockstep walk inRowForest::complete_leavesinto AVX2 lane arithmetic withvpinsrd/vmovqtransfers aroundvpaddq; pinning the step keeps lanes in general-purpose registers. On an EC2c6in.xlarge(Xeon Platinum 8375C, single thread,-C target-cpu=x86-64-v3, squared error, 400 depth-6 trees, 24 features, 8,192 rows, best of 9 runs),predict_margin_row_intodrops from 4.13–4.16 µs/row to 2.99–3.01 µs/row (−28%), while batchDMatrixpredictis unchanged at 1.79–1.83 → 1.77–1.82 µs/row. Outputs remain bit-identical to the previous build and to AArch64.
Tooling
- Development dependency updates (#174): Updated
misetooling versions (rust1.99.0 → 1.99.1,mr-boxington1.22.0 → 1.26.0,uv0.13.1 → 0.13.4,cargo-binstall1.25.2 → 1.26.0,cargo-nextest0.9.146 → 0.9.149,ruff0.16.10 → 0.17.1) with no changes to runtime or library behavior.
Pull Requests by Category
Performance
- perf(simd): pin the x86_64 row-walk step to cmp + adc (#173)