feat: Add back support for big-endian targets#32
Conversation
shekhirin
left a comment
There was a problem hiding this comment.
LGTM, thanks! @DaniPopes please take a look too
CodSpeed Performance ReportMerging #32 will degrade performances by 25.69%Comparing Summary
Benchmarks breakdown
|
| - run: cargo test --all-features | ||
| if: matrix.rust == 'nightly' | ||
|
|
||
| test-be: |
There was a problem hiding this comment.
cant we add an include to the test matrix? or is it because of build-std
There was a problem hiding this comment.
Yeah, build-std (always needs nightly) + dtolnay/rust-toolchain will error when installing a tier-3 target due to rust-std not being distributed for them. We could add some more conditionals to the original job, but figured splitting them up was a bit more readable.
f593afe to
0db8252
Compare
Updated the impl to have a container that prevents touching the heap in the big-endian case. e: whoops, fixing CI... |
0db8252 to
e8aecc5
Compare
1922c10 to
954d455
Compare
3ec0dd2 to
2837fc9
Compare
2837fc9 to
647b4cd
Compare
DaniPopes
left a comment
There was a problem hiding this comment.
Thanks! Performance is unaffected
|
Released in 0.4.1 |
Overview
Adds back big-endian support after #17, cc @shekhirin
These changes should have no impact on the performance of this crate when targeting little-endian - All methods that require read-only access to the underlying
U256can useas_le_bytes, and methods that relied onas_le_slice_mutretain the existing implementation whencfg(target_endian = "little").Also adds a new CI job to build/test the crate on big-endian 32-bit and 64-bit MIPS targets.
Meta
closes #31