package
0.0.0-20241211203929-37a36ef1be3e
Repository: https://github.com/koykov/lab.git
Documentation: pkg.go.dev
# README
crc32
A collection of crc32 algorithms for Go language.
Algorithms implemented:
- bitwise
- half-byte
- standard (1 byte)
- standard (no lookup table)
- slicing-by-4
- slicing-by-8
- slicing-by-16
Note, that it isn't a replacement for native Go's crc32 algorithms, since they are faster.
See benchmarks:
BenchmarkCrc32/native-8 187476 5574 ns/op 1024 B/op 1 allocs/op
BenchmarkCrc32/nativeIEEE-8 13999579 84.11 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32/castagnoli-8 19790028 60.06 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32/bitwise-8 142256 8430 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32/halfbyte-8 313130 3836 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32/byte4-8 1578111 760.0 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32/byte8-8 2711008 439.1 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32/byte4x8-8 2452111 482.3 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32/byte16-8 2758572 445.4 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/native-8 615 1935923 ns/op 1024 B/op 1 allocs/op
BenchmarkCrc32Long/nativeIEEE-8 26360 45075 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/castagnoli-8 35221 33677 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/bitwise-8 142 8380055 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/byte1-8 708 1713631 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/byte1Tableless-8 330 3621188 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/byte4-8 1558 765062 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/byte8-8 2800 445550 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/byte4x8-8 2666 440704 ns/op 0 B/op 0 allocs/op
BenchmarkCrc32Long/byte16-8 3096 411865 ns/op 0 B/op 0 allocs/op
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
No description provided by the author