Christopher Berner
f341622541
Update readme
2023-11-25 09:43:09 -08:00
Christopher Berner
cce79b412c
Run fuzzer in release mode
2023-11-25 09:43:09 -08:00
Christopher Berner
7939144ef8
Fix division by zero when packet size is less than 32
2023-11-25 09:43:09 -08:00
Christopher Berner
378baee78e
Fix caching in CI
2023-11-25 09:17:07 -08:00
Christopher Berner
b3a370722c
Update cargo-deny in CI
2023-11-25 08:49:57 -08:00
Christopher Berner
442412fc70
Add rust-toolchain file
2023-11-25 08:49:57 -08:00
Christopher Berner
c8e03c4641
Run CI on Ubuntu latest
2023-11-25 08:49:57 -08:00
Christopher Berner
6de8f5ebc9
Cleanup Python installation in CI
2023-11-25 08:49:57 -08:00
Christopher Berner
c61ca59418
Enable caching in CI builds
2023-11-25 08:49:57 -08:00
Christopher Berner
6815853f56
Fix maturin config
2023-07-03 11:09:19 -07:00
Christopher Berner
eafdc58d0a
Run cargo clippy --fix
2023-07-03 11:09:19 -07:00
Christopher Berner
5fbea3a8a4
Document crate status
2023-07-03 11:09:19 -07:00
Christopher Berner
d16556c4ed
Add fuzzer
2023-07-03 11:09:19 -07:00
Christopher Berner
92cd14ab12
Add CI for no-std
2023-02-02 20:12:30 -08:00
Slesarew
5a720829fa
feat: support no_std ( #143 )
...
* feat: support no_std
`metal` feature supports `no_std` in configuration `default-features = false, features = ["metal"]`.
Float calculation is done via `micromath` crate.
All previously available functionality remains under default `std` feature.
Some tweaking of `python` and `wasm` features was done to compile tests.
* feat: get rid of floats (#2 )
* feat: remove conversion to f64, fix features
* chore: uncomment symbols_required checker, fmt
* revert: add cdylib target for python support
* fix: generalize crate type
---------
Co-authored-by: varovainen <99664267+varovainen@users.noreply.github.com>
2023-02-02 18:07:41 -08:00
Christopher Berner
e7d51816ac
Set required-features for benchmarks
2022-12-29 16:04:46 -08:00
Pavel
02c80b595a
Added wasm build configuration ( #136 )
...
Co-authored-by: Christopher Berner <christopherberner@gmail.com>
2022-10-08 21:08:55 -07:00
Christopher Berner
f39a192bc7
Fix maturin build
2022-10-08 20:50:55 -07:00
Christopher Berner
e477dc7d18
Fix license check
2022-10-08 20:50:55 -07:00
Christopher Berner
afe2e83206
Bump version to 1.7.0
2022-05-17 06:55:40 -07:00
Christopher Berner
a1e451349c
Fix clippy warnings
2022-05-16 08:31:45 -07:00
Christopher Berner
9a47489160
Enable NEON optimized code path on aarch64
2022-05-16 08:31:45 -07:00
Christopher Berner
28136b2d39
Upgrade pyo3 dependency
2022-03-23 16:21:23 -07:00
Christopher Berner
d2ad552972
Bump version to 1.6.5
2022-02-07 19:10:45 -08:00
Christopher Berner
95286b9d0b
Make extended_source_block_symbols unconditionally public
2022-02-07 19:10:01 -08:00
Christopher Berner
bd5a5ec6bd
Update pyo3 to 0.15
2021-12-05 14:04:00 -08:00
Christopher Berner
dde61692ea
Add benchmark numbers on Ryzen 5900X
2021-12-05 14:04:00 -08:00
Christopher Berner
98a9806801
Update to 2021 edition
2021-10-21 18:47:08 -07:00
Christopher Berner
49d4c83c6b
Update readme with latest benchmarks on ARM
2021-10-16 18:11:46 -07:00
Christopher Berner
88959e05e6
Use vshrq_n_u8 in neon optimizations
...
Now that https://github.com/rust-lang/rust/issues/82072 is fixed this
intrinsic works and improves mulassign & FMA performance by ~30% on
Raspberry Pi 3 B+. End to end speedup is ~5%
2021-10-16 18:11:46 -07:00
Christopher Berner
1a4a62e64a
Update README badges
2021-07-28 20:38:58 -07:00
Christopher Berner
d5f754747f
Pin maturin version
2021-07-28 20:22:51 -07:00
Christopher Berner
8f885195d6
Bump version to 1.6.4
2021-07-28 19:43:19 -07:00
Christopher Berner
2e0befc8df
Fix remaining Clippy warnings
2021-07-27 22:51:14 -07:00
Christopher Berner
39a26759cc
Update pyo3
2021-07-27 22:51:14 -07:00
Christopher Berner
5a851083ed
Fix some Clippy warnings
2021-07-27 22:00:38 -07:00
Christopher Berner
8b669faefd
Fix panic in graph traversal
...
There was an off-by-one error in the initialization of storage for
connected components, such that if there were the same number of
connected components as nodes it would cause an index out of bounds
error
2021-07-27 21:46:46 -07:00
Christopher Berner
2b13544514
Fix warnings from cargo-deny config on 0.9.x
2021-06-06 16:11:45 -10:00
Christopher Berner
e027ef2af0
Rename .cargo/config to .cargo/config.toml
...
This matches the Cargo documentation https://doc.rust-lang.org/cargo/reference/config.html
and should fix cargo-deny's parsing
2021-03-28 09:49:20 -07:00
Christopher Berner
ee2407cb7c
Add support for building Python bindings on M1 Mac
2021-03-28 09:49:20 -07:00
Christopher Berner
393b7096d9
Fix building Python bindings on Mac
2021-03-28 09:49:20 -07:00
Christopher Berner
c5e0188db3
Add CI for Mac
2021-03-28 09:49:20 -07:00
Christopher Berner
83101d6a7c
Fix cargo test compilation error
2021-03-18 20:16:19 -07:00
Christopher Berner
c2a2e8a7c3
Bump version to 1.6.3 for release
2021-02-17 21:51:13 -08:00
Christopher Berner
c2e8a94a11
Update Raspberry Pi 3 B+ benchmarks
...
The previous benchmarks were run with a faulty power supply which
artificially lowered the clock speed
2021-02-15 16:21:31 -08:00
Christopher Berner
893e1c7c79
Optimize fma with GF2 with NEON
...
Improves performance by ~2x on very large symbol counts
2021-02-14 17:15:40 -08:00
Christopher Berner
8bbc99c5cd
Update benchmarks on Raspberry Pi
2021-02-14 17:15:40 -08:00
Christopher Berner
e06af58ce2
Workaround bad compiler optimization with vshrq NEON instruction
...
The vshrq intrinsic incorrectly compiles to 16 single byte shift instructions.
This improves throughput by ~50%
2021-02-14 17:15:40 -08:00
Christopher Berner
a4db356932
Add NEON optimized mul_assign() function
...
Speeds up this op by ~2x
2021-02-14 17:15:40 -08:00
Christopher Berner
d0322d3ca4
Add NEON optimized FMA
...
Speeds up FMA by ~3x, and encoding throughput by ~50%
2021-02-14 17:15:40 -08:00