wp
This commit is contained in:
21
util/io_test.go
Normal file
21
util/io_test.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"hash/crc32"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var page = make([]byte, 4096)
|
||||
var ieeeTable = crc32.MakeTable(crc32.IEEE)
|
||||
|
||||
func BenchmarkCRC32C(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
crc32.Checksum(page, castagnoliTable)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkCRC32IEEE(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
crc32.Checksum(page, ieeeTable)
|
||||
}
|
||||
}
|
||||
17
util/until.go
Normal file
17
util/until.go
Normal file
@@ -0,0 +1,17 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"hash/crc32"
|
||||
)
|
||||
|
||||
var (
|
||||
castagnoliTable = crc32.MakeTable(crc32.Castagnoli)
|
||||
)
|
||||
|
||||
func CalcChecksum(page []byte) uint32 {
|
||||
return crc32.Checksum(page, castagnoliTable)
|
||||
}
|
||||
|
||||
func IsValidChecksum(page []byte, checksum uint32) bool {
|
||||
return crc32.Checksum(page, castagnoliTable) == checksum
|
||||
}
|
||||
Reference in New Issue
Block a user