mrhooray / crc-rs

Rust implementation of CRC(16, 32, 64) with support of various standards
Apache License 2.0
187 stars 49 forks source link

Add crc8 slice-by-16 and no-table implementations #90

Closed KillingSpark closed 1 year ago

KillingSpark commented 1 year ago

Last one :)

Benches:

crc8/default            time:   [30.741 µs 30.754 µs 30.768 µs]
                        thrpt:  [507.84 MiB/s 508.06 MiB/s 508.28 MiB/s]

crc8/nolookup           time:   [172.40 µs 172.56 µs 172.76 µs]
                        thrpt:  [90.445 MiB/s 90.546 MiB/s 90.630 MiB/s]

crc8/bytewise           time:   [30.728 µs 30.741 µs 30.755 µs]
                        thrpt:  [508.05 MiB/s 508.28 MiB/s 508.50 MiB/s]

crc8/slice16            time:   [5.2166 µs 5.2196 µs 5.2233 µs]
                        thrpt:  [2.9213 GiB/s 2.9233 GiB/s 2.9250 GiB/s]