Christopher Berner
f341622541
Update readme
2023-11-25 09:43:09 -08:00
Christopher Berner
442412fc70
Add rust-toolchain file
2023-11-25 08:49:57 -08:00
Christopher Berner
5fbea3a8a4
Document crate status
2023-07-03 11:09:19 -07:00
Christopher Berner
dde61692ea
Add benchmark numbers on Ryzen 5900X
2021-12-05 14:04:00 -08:00
Christopher Berner
49d4c83c6b
Update readme with latest benchmarks on ARM
2021-10-16 18:11:46 -07:00
Christopher Berner
1a4a62e64a
Update README badges
2021-07-28 20:38:58 -07: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
c1fa4e1f8e
Add benchmarks on Raspberry Pi 3 B+
2021-02-09 17:55:03 -08:00
Christopher Berner
30ed32e720
Update benchmarks
...
Note: pre-built plan benchmarks improved because I fixed the RAM config
on my computer to increase bandwidth, not because of code changes
2021-02-05 19:51:08 -08:00
Christopher Berner
a1d5894e25
Update benchmarks
2021-01-17 21:58:06 -08:00
Christopher Berner
24235dd213
Optimize first phase to call ones_in_column() only once for r = 1 case
2020-12-26 20:46:47 -08:00
Christopher Berner
3cc21f5b42
Update readme with new benchmarks
2020-12-26 10:22:47 -08:00
Christopher Berner
102c6a5a86
Optimize DenseBinaryMatrix
...
Switch to a single contiguous vector instead of vec of vecs
This improves performance by ~5%, especially for smaller symbol counts
2020-12-07 22:16:38 -08:00
Christopher Berner
7b0d1c5cff
Remove X matrix from release builds
...
This improve performance on small symbol counts by ~5%
2020-12-06 15:36:43 -08:00
Christopher Berner
5c13e8de6e
Further optimize fused_addassign_mul_scalar_binary_avx2()
...
Move calculation of control flags out of loop to avoid one OR
instruction inside loop. Also statically enable BMI1 and detect its
presence to ensure that BEXTR2 intrinsic is inlined
Improves performance by ~5% on small symbol counts
2020-12-06 15:36:43 -08:00
Christopher Berner
d87e46c625
Optimize DenseBinaryMatrix.swap_columns()
...
Improves performance by 10-15% for symbol count = 100
2020-12-06 08:15:21 -08:00
Christopher Berner
3a05d7be3e
Add BinaryOctetVec
...
Improves encoding speed of large symbol counts by ~5%
2020-12-06 08:15:21 -08:00
Christopher Berner
50301e1b5b
Optimize query_non_zero_columns()
...
This reduces the time spent in the fourth phase from ~6% of encoding
time to ~1%, according to perf, and improves overall throughput by 3-4%
on large symbol counts.
2020-11-29 09:51:56 -08:00
Christopher Berner
c4d227fba1
Optimize memory layout of dense U matrix
...
Previously we used column major ordering. Switch to row major to
optimize sequential access of rows which is much more common in the
first phase, and can also be used in the fourth phase
This improves performance by ~10% on large symbol counts
2020-11-28 21:08:35 -08:00
Christopher Berner
8b462f5c83
Optimize processing of U matrix
...
Optimize Phases 2-5 to avoid writes to the first i columns.
Additionally, use pre-computed ops from first phase to implement third &
fifth phases
This improves encoding performance by ~15%, especially on large symbol
counts
2020-11-27 21:36:17 -08:00
Christopher Berner
30bfeaf273
Add deps.rs badge
2020-10-24 10:42:02 -07:00
Christopher Berner
dbbcf16efd
Document required Rust version
2020-09-29 20:03:47 -07:00
Christopher Berner
3ae2f9fa6e
Upgrade to pyo3
...
This removes the dependency on nightly for building python bindings
2020-08-29 21:23:40 -07:00
Christopher Berner
6502e79b0f
Remove broken deps_rs badge
2020-06-23 21:25:45 -07:00
Christopher Berner
0973b5970d
Add PyPi badge to README
2020-03-28 14:53:34 -07:00
Christopher Berner
70c7987d39
Update instructions for building with Maturin
2020-03-11 09:24:05 -07:00
Christopher Berner
6eeeb67f70
Merge Python wrapper crate into main crate
2020-02-22 13:31:16 -08:00
Christopher Berner
9d4675e428
Update benchmark results with pre-planned encoding
2020-01-26 11:54:38 -08:00
Christopher Berner
b503ea79d8
Update benchmarks with 1.1.0 results
...
Approximately 1.5x faster for symbol counts over 250, and 2x faster over
5k symbols
2020-01-19 11:52:35 -08:00
Christopher Berner
1663104158
Clarify public API and benchmarking flag
2020-01-07 18:40:15 -08:00
Christopher Berner
9bcbd35674
Fix link in readme
2019-12-23 22:47:07 -08:00
Christopher Berner
1ef3af11ae
Replace FOSSA with lichking license checker
...
Also add prominent contribution statement
2019-12-23 12:04:05 -08:00
fossabot
61875c4640
Add license scan report and status
...
Signed-off-by: fossabot <badges@fossa.io>
2019-08-28 11:42:53 -07:00
Christopher Berner
ec9c7cdb14
Add examples link to readme
2019-04-13 22:37:02 -07:00
Christopher Berner
b3575aaccd
Add benchmarks to readme
2019-04-13 22:35:45 -07:00
Christopher Berner
d97d31a275
Add more details to readme
2019-04-13 22:32:15 -07:00
Christopher Berner
978f25fe87
Add status badges to README
2019-03-19 21:43:57 -07:00
Christopher Berner
fe853a47de
Document repair probability
2019-02-16 23:18:01 -08:00
Christopher Berner
9638875def
Initial commit
2019-01-21 16:58:13 -08:00