chore: update dependencies - #78
Conversation
Merging this PR will improve performance by 2.54%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ⚡ | scalar_f64_argmax_rn |
714.8 µs | 686.3 µs | +4.15% |
| ⚡ | scalar_f64_argminmax_in |
757.8 µs | 686.6 µs | +10.37% |
| ❌ | scalar_f32_argminmax_rn |
499.8 µs | 585 µs | -14.58% |
| ⚡ | scalar_f64_argmin_rn |
714.8 µs | 686.3 µs | +4.15% |
| ❌ | scalar_f64_argminmax_rn |
686.4 µs | 771.7 µs | -11.06% |
| ⚡ | scalar_f32_argmin_rn |
528.1 µs | 499.7 µs | +5.69% |
| ⚡ | scalar_f16_argmin_rn |
577.1 µs | 548.6 µs | +5.2% |
| ⚡ | scalar_f32_argminmax_in |
571 µs | 499.9 µs | +14.24% |
| ⚡ | scalar_f32_argmax_rn |
528.2 µs | 499.7 µs | +5.7% |
| ⚡ | scalar_f16_argmax_rn |
577.2 µs | 548.6 µs | +5.2% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing chore/update-dependencies (0ecbab5) with main (ac45079)
The wasm32-unknown-unknown
--all-featuresbuild fails to compile:arrowandarrow2pull inahash->getrandom, and getrandom >=0.3deliberately errors on
wasm32-unknown-unknownunless the final binaryselects a randomness backend (e.g.
--cfg getrandom_backend="wasm_js").argminmax uses no randomness of its own, so this backend choice is a
downstream/binary-level decision that a library cannot make. Apache Arrow
on bare wasm32-unknown-unknown is not a supported scenario.
Split the wasm build to compile every argminmax-owned feature
(nightly_simd, float, half, ndarray) while omitting the arrow/arrow2
integrations. All other targets keep full --all-features coverage.
This pull request updates several dependencies to more recent versions and refactors the random array generation utilities in
dev_utilsto improve compatibility and reliability, particularly for floating-point types. The changes ensure better support for the latest versions of crates and address issues with random number generation for various numeric types.Dependency updates:
Cargo.tomlanddev_utils/Cargo.toml, includinghalf(2.6 → 2.7),ndarray(0.16.1 → 0.17),rand(0.9 → 0.10),rstest(0.25 → 0.26),codspeed-criterion-compat(2.10.1 → 4.7.0), andcriterion(0.5.1 → 0.8.2). [1] [2] [3]Random array generation refactor:
SampleUniformFullRangetrait and its implementations to use the newrandAPI and to generate random arrays for integer and floating-point types more reliably. For floats, random integers are generated and then safely transmuted to floats to avoid range overflow issues. [1] [2] [3] [4]randcrate to reflect API changes and to useThreadRngandRngExtas appropriate.These changes improve compatibility with the latest crate versions and make random array generation for tests and benchmarks more robust.