Commit a7cba317 authored by Russ Cox's avatar Russ Cox

cmd/benchstat: add basic golden test

Change-Id: I778bee598aa32c213ccfa956f63e8b55360e99ae
Reviewed-on: https://go-review.googlesource.com/35932
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: default avatarQuentin Smith <quentin@golang.org>
parent 8d487eb4
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
import (
"bytes"
"io/ioutil"
"os"
"os/exec"
"testing"
)
func TestGolden(t *testing.T) {
if err := os.Chdir("testdata"); err != nil {
t.Fatal(err)
}
defer os.Chdir("..")
check(t, "exampleold", "exampleold.txt")
check(t, "example", "exampleold.txt", "examplenew.txt")
if t.Failed() {
t.Fatal("skipping other tests")
}
check(t, "examplehtml", "-html", "exampleold.txt", "examplenew.txt")
if t.Failed() {
t.Fatal("skipping other tests")
}
check(t, "all", "new.txt", "old.txt", "slashslash4.txt", "x386.txt")
check(t, "oldnew", "old.txt", "new.txt")
check(t, "oldnewgeo", "-geomean", "old.txt", "new.txt")
check(t, "new4", "new.txt", "slashslash4.txt")
check(t, "oldnewhtml", "-html", "old.txt", "new.txt")
check(t, "oldnew4html", "-html", "old.txt", "new.txt", "slashslash4.txt")
check(t, "oldnewttest", "-delta-test=ttest", "old.txt", "new.txt")
}
func check(t *testing.T, name string, files ...string) {
t.Run(name, func(t *testing.T) {
os.Args = append([]string{"benchstat"}, files...)
r, w, err := os.Pipe()
if err != nil {
t.Fatal(err)
}
c := make(chan []byte)
go func() {
data, err := ioutil.ReadAll(r)
if err != nil {
t.Error(err)
}
c <- data
}()
stdout := os.Stdout
stderr := os.Stderr
os.Stdout = w
os.Stderr = w
*flagGeomean = false
*flagHTML = false
*flagDeltaTest = "utest"
main()
w.Close()
os.Stdout = stdout
os.Stderr = stderr
data := <-c
golden, err := ioutil.ReadFile(name + ".golden")
if err != nil {
t.Fatal(err)
}
if !bytes.Equal(data, golden) {
t.Errorf("wrong output: diff have want:\n%s", diff(t, data, golden))
}
})
}
// diff returns the output of 'diff -u old new'.
func diff(t *testing.T, old, new []byte) string {
data, err := exec.Command("diff", "-u", writeTemp(t, old), writeTemp(t, new)).CombinedOutput()
if len(data) > 0 {
return string(data)
}
return "ERROR: " + err.Error()
}
func writeTemp(t *testing.T, data []byte) string {
f, err := ioutil.TempFile("", "benchstat_test")
if err != nil {
t.Fatal(err)
}
f.Write(data)
name := f.Name()
f.Close()
return name
}
name \ time/op new.txt old.txt slashslash4.txt x386.txt
CRC32/poly=IEEE/size=15/align=0-8 44.5ns ± 3% 46.9ns ± 8% 62.4ns ± 9%
CRC32/poly=IEEE/size=15/align=1-8 44.5ns ± 4% 44.7ns ± 5% 63.5ns ± 8%
CRC32/poly=IEEE/size=40/align=0-8 42.5ns ± 6% 41.0ns ± 1% 42.1ns ± 3% 57.4ns ± 3%
CRC32/poly=IEEE/size=40/align=1-8 42.0ns ± 3% 41.1ns ± 1% 41.7ns ± 5% 57.3ns ± 3%
CRC32/poly=IEEE/size=512/align=0-8 57.1ns ± 3% 238.0ns ± 5% 332.3ns ± 2%
CRC32/poly=IEEE/size=512/align=1-8 57.2ns ± 3% 235.5ns ± 3% 335.3ns ± 3%
CRC32/poly=IEEE/size=1kB/align=0-8 94.1ns ± 2% 452.5ns ± 4% 626.3ns ± 2%
CRC32/poly=IEEE/size=1kB/align=1-8 93.3ns ± 2% 443.6ns ± 2% 635.3ns ± 6%
CRC32/poly=IEEE/size=4kB/align=0-8 298ns ± 1% 1740ns ± 8% 1682ns ± 2% 2457ns ± 7%
CRC32/poly=IEEE/size=4kB/align=1-8 299ns ± 3% 1764ns ± 6% 1690ns ± 4% 2434ns ± 5%
CRC32/poly=IEEE/size=32kB/align=0-8 2.16µs ± 3% 14.95µs ± 7% 19.15µs ± 4%
CRC32/poly=IEEE/size=32kB/align=1-8 2.18µs ± 3% 14.19µs ± 7% 19.42µs ± 5%
CRC32/poly=Castagnoli/size=15/align=0-8 16.3ns ± 2% 16.4ns ± 3% 59.4ns ± 1%
CRC32/poly=Castagnoli/size=15/align=1-8 17.3ns ± 2% 17.2ns ± 2% 59.4ns ± 2%
CRC32/poly=Castagnoli/size=40/align=0-8 17.5ns ± 4% 17.4ns ± 2% 18.6ns ±11% 59.7ns ± 6%
CRC32/poly=Castagnoli/size=40/align=1-8 19.4ns ± 2% 19.7ns ± 3% 19.6ns ± 2% 58.1ns ± 7%
CRC32/poly=Castagnoli/size=512/align=0-8 40.1ns ± 4% 40.2ns ± 2% 350.8ns ± 5%
CRC32/poly=Castagnoli/size=512/align=1-8 41.9ns ± 2% 42.1ns ± 3% 349.8ns ± 7%
CRC32/poly=Castagnoli/size=1kB/align=0-8 66.2ns ± 1% 65.5ns ± 1% 656.7ns ± 4%
CRC32/poly=Castagnoli/size=1kB/align=1-8 68.5ns ± 2% 70.1ns ± 6% 656.8ns ± 6%
CRC32/poly=Castagnoli/size=4kB/align=0-8 159ns ± 3% 163ns ± 5% 161ns ± 8% 2452ns ± 4%
CRC32/poly=Castagnoli/size=4kB/align=1-8 162ns ± 3% 169ns ± 6% 170ns ± 8% 2448ns ± 5%
CRC32/poly=Castagnoli/size=32kB/align=0-8 1.21µs ± 3% 1.22µs ± 4% 20.53µs ± 5%
CRC32/poly=Castagnoli/size=32kB/align=1-8 1.22µs ± 4% 1.26µs ± 3% 20.18µs ± 9%
CRC32/poly=Koopman/size=15/align=0-8 35.6ns ± 3% 36.5ns ±11% 58.2ns ± 4%
CRC32/poly=Koopman/size=15/align=1-8 35.5ns ± 1% 35.1ns ± 5% 56.4ns ± 7%
CRC32/poly=Koopman/size=40/align=0-8 87.6ns ± 2% 91.6ns ± 9% 93.8ns ±13% 142.3ns ± 8%
CRC32/poly=Koopman/size=40/align=1-8 88.0ns ± 3% 91.1ns ± 6% 86.9ns ± 3% 136.2ns ± 5%
CRC32/poly=Koopman/size=512/align=0-8 1.08µs ± 3% 1.13µs ± 5% 1.68µs ± 5%
CRC32/poly=Koopman/size=512/align=1-8 1.17µs ± 8% 1.13µs ± 6% 1.64µs ± 4%
CRC32/poly=Koopman/size=1kB/align=0-8 2.34µs ± 4% 2.24µs ± 6% 3.31µs ± 4%
CRC32/poly=Koopman/size=1kB/align=1-8 2.36µs ± 5% 2.15µs ± 2% 3.28µs ± 3%
CRC32/poly=Koopman/size=4kB/align=0-8 9.00µs ± 6% 9.03µs ± 6% 9.08µs ± 8% 13.32µs ± 3%
CRC32/poly=Koopman/size=4kB/align=1-8 9.05µs ±12% 8.94µs ±10% 9.46µs ± 8% 13.16µs ± 3%
CRC32/poly=Koopman/size=32kB/align=0-8 72.9µs ± 4% 72.4µs ± 9% 106.9µs ± 6%
CRC32/poly=Koopman/size=32kB/align=1-8 74.3µs ± 3% 69.6µs ± 3% 106.1µs ± 4%
name \ speed new.txt old.txt slashslash4.txt x386.txt
CRC32/poly=IEEE/size=15/align=0-8 337MB/s ± 3% 321MB/s ± 8% 241MB/s ± 8%
CRC32/poly=IEEE/size=15/align=1-8 337MB/s ± 4% 336MB/s ± 4% 237MB/s ± 8%
CRC32/poly=IEEE/size=40/align=0-8 942MB/s ± 5% 975MB/s ± 1% 951MB/s ± 3% 696MB/s ± 3%
CRC32/poly=IEEE/size=40/align=1-8 952MB/s ± 3% 974MB/s ± 1% 960MB/s ± 4% 698MB/s ± 3%
CRC32/poly=IEEE/size=512/align=0-8 8.97GB/s ± 3% 2.15GB/s ± 4% 1.54GB/s ± 2%
CRC32/poly=IEEE/size=512/align=1-8 8.96GB/s ± 3% 2.17GB/s ± 3% 1.52GB/s ± 3%
CRC32/poly=IEEE/size=1kB/align=0-8 10.9GB/s ± 2% 2.3GB/s ± 4% 1.6GB/s ± 2%
CRC32/poly=IEEE/size=1kB/align=1-8 11.0GB/s ± 2% 2.3GB/s ± 2% 1.6GB/s ± 6%
CRC32/poly=IEEE/size=4kB/align=0-8 13.7GB/s ± 1% 2.4GB/s ± 7% 2.4GB/s ± 2% 1.7GB/s ± 7%
CRC32/poly=IEEE/size=4kB/align=1-8 13.7GB/s ± 3% 2.3GB/s ± 6% 2.4GB/s ± 4% 1.7GB/s ± 5%
CRC32/poly=IEEE/size=32kB/align=0-8 15.2GB/s ± 3% 2.2GB/s ± 7% 1.7GB/s ± 4%
CRC32/poly=IEEE/size=32kB/align=1-8 15.0GB/s ± 3% 2.3GB/s ± 8% 1.7GB/s ± 5%
CRC32/poly=Castagnoli/size=15/align=0-8 920MB/s ± 2% 916MB/s ± 2% 253MB/s ± 1%
CRC32/poly=Castagnoli/size=15/align=1-8 867MB/s ± 2% 870MB/s ± 2% 253MB/s ± 2%
CRC32/poly=Castagnoli/size=40/align=0-8 2.28GB/s ± 4% 2.30GB/s ± 2% 2.16GB/s ±11% 0.67GB/s ± 6%
CRC32/poly=Castagnoli/size=40/align=1-8 2.06GB/s ± 2% 2.03GB/s ± 3% 2.04GB/s ± 2% 0.69GB/s ± 6%
CRC32/poly=Castagnoli/size=512/align=0-8 12.8GB/s ± 4% 12.7GB/s ± 2% 1.5GB/s ± 5%
CRC32/poly=Castagnoli/size=512/align=1-8 12.2GB/s ± 1% 12.1GB/s ± 3% 1.5GB/s ± 7%
CRC32/poly=Castagnoli/size=1kB/align=0-8 15.5GB/s ± 1% 15.6GB/s ± 1% 1.6GB/s ± 4%
CRC32/poly=Castagnoli/size=1kB/align=1-8 15.0GB/s ± 2% 14.6GB/s ± 6% 1.6GB/s ± 5%
CRC32/poly=Castagnoli/size=4kB/align=0-8 25.7GB/s ± 3% 25.1GB/s ± 5% 25.4GB/s ± 7% 1.7GB/s ± 4%
CRC32/poly=Castagnoli/size=4kB/align=1-8 25.3GB/s ± 3% 24.1GB/s ± 6% 24.1GB/s ± 8% 1.7GB/s ± 5%
CRC32/poly=Castagnoli/size=32kB/align=0-8 26.8GB/s ± 5% 26.9GB/s ± 4% 1.6GB/s ± 5%
CRC32/poly=Castagnoli/size=32kB/align=1-8 26.8GB/s ± 4% 25.9GB/s ± 3% 1.6GB/s ± 8%
CRC32/poly=Koopman/size=15/align=0-8 421MB/s ± 3% 412MB/s ±10% 258MB/s ± 5%
CRC32/poly=Koopman/size=15/align=1-8 422MB/s ± 1% 427MB/s ± 5% 266MB/s ± 6%
CRC32/poly=Koopman/size=40/align=0-8 456MB/s ± 2% 437MB/s ± 9% 428MB/s ±12% 281MB/s ± 7%
CRC32/poly=Koopman/size=40/align=1-8 455MB/s ± 3% 440MB/s ± 6% 461MB/s ± 3% 290MB/s ± 8%
CRC32/poly=Koopman/size=512/align=0-8 476MB/s ± 3% 453MB/s ± 5% 304MB/s ± 5%
CRC32/poly=Koopman/size=512/align=1-8 440MB/s ± 8% 455MB/s ± 6% 312MB/s ± 3%
CRC32/poly=Koopman/size=1kB/align=0-8 438MB/s ± 4% 452MB/s ± 9% 310MB/s ± 4%
CRC32/poly=Koopman/size=1kB/align=1-8 434MB/s ± 5% 477MB/s ± 2% 312MB/s ± 3%
CRC32/poly=Koopman/size=4kB/align=0-8 455MB/s ± 6% 454MB/s ± 5% 452MB/s ± 8% 308MB/s ± 3%
CRC32/poly=Koopman/size=4kB/align=1-8 455MB/s ±11% 459MB/s ± 9% 434MB/s ± 9% 311MB/s ± 3%
CRC32/poly=Koopman/size=32kB/align=0-8 450MB/s ± 4% 453MB/s ± 8% 307MB/s ± 6%
CRC32/poly=Koopman/size=32kB/align=1-8 441MB/s ± 3% 471MB/s ± 3% 309MB/s ± 4%
name old time/op new time/op delta
GobEncode 13.6ms ± 1% 11.8ms ± 1% -13.31% (p=0.016 n=4+5)
JSONEncode 32.1ms ± 1% 31.8ms ± 1% ~ (p=0.286 n=4+5)
name old speed new speed delta
GobEncode 56.4MB/s ± 1% 65.1MB/s ± 1% +15.36% (p=0.016 n=4+5)
JSONEncode 60.4MB/s ± 1% 61.1MB/s ± 2% ~ (p=0.286 n=4+5)
<style>.benchstat tbody td:nth-child(1n+2) { text-align: right; padding: 0em 1em; }</style>
<table class='benchstat'>
<tr><th>name</th><th>old time/op</th><th>new time/op</th><th>delta</th>
<tr><td>GobEncode</td><td>13.6ms ± 1%</td><td>11.8ms ± 1%</td><td>-13.31%</td><td>(p=0.016 n=4+5)</td>
<tr><td>JSONEncode</td><td>32.1ms ± 1%</td><td>31.8ms ± 1%</td><td>~ </td><td>(p=0.286 n=4+5)</td>
</table>
<style>.benchstat tbody td:nth-child(1n+2) { text-align: right; padding: 0em 1em; }</style>
<table class='benchstat'>
<tr><th>name</th><th>old speed</th><th>new speed</th><th>delta</th>
<tr><td>GobEncode</td><td>56.4MB/s ± 1%</td><td>65.1MB/s ± 1%</td><td>+15.36%</td><td>(p=0.016 n=4+5)</td>
<tr><td>JSONEncode</td><td>60.4MB/s ± 1%</td><td>61.1MB/s ± 2%</td><td>~ </td><td>(p=0.286 n=4+5)</td>
</table>
BenchmarkGobEncode 100 11773189 ns/op 65.19 MB/s
BenchmarkJSONEncode 50 32036529 ns/op 60.57 MB/s
BenchmarkGobEncode 100 11942588 ns/op 64.27 MB/s
BenchmarkJSONEncode 50 32156552 ns/op 60.34 MB/s
BenchmarkGobEncode 100 11786159 ns/op 65.12 MB/s
BenchmarkJSONEncode 50 31288355 ns/op 62.02 MB/s
BenchmarkGobEncode 100 11628583 ns/op 66.00 MB/s
BenchmarkJSONEncode 50 31559706 ns/op 61.49 MB/s
BenchmarkGobEncode 100 11815924 ns/op 64.96 MB/s
BenchmarkJSONEncode 50 31765634 ns/op 61.09 MB/s
name time/op
GobEncode 13.6ms ± 1%
JSONEncode 32.1ms ± 1%
name speed
GobEncode 56.4MB/s ± 1%
JSONEncode 60.4MB/s ± 1%
BenchmarkGobEncode 100 13552735 ns/op 56.63 MB/s
BenchmarkJSONEncode 50 32395067 ns/op 59.90 MB/s
BenchmarkGobEncode 100 13553943 ns/op 56.63 MB/s
BenchmarkJSONEncode 50 32334214 ns/op 60.01 MB/s
BenchmarkGobEncode 100 13606356 ns/op 56.41 MB/s
BenchmarkJSONEncode 50 31992891 ns/op 60.65 MB/s
BenchmarkGobEncode 100 13683198 ns/op 56.09 MB/s
BenchmarkJSONEncode 50 31735022 ns/op 61.15 MB/s
pkg: hash/crc32
goarch: amd64
goos: darwin
note: hw acceleration enabled
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 43.6 ns/op 343.87 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 45.4 ns/op 330.50 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 43.4 ns/op 345.50 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 45.3 ns/op 331.23 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 43.9 ns/op 341.73 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 46.0 ns/op 326.03 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 45.1 ns/op 332.54 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 43.8 ns/op 342.12 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 43.8 ns/op 342.14 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 44.9 ns/op 333.84 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 43.8 ns/op 342.08 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.0 ns/op 340.68 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 45.0 ns/op 333.41 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.1 ns/op 340.41 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 43.7 ns/op 343.58 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 43.7 ns/op 342.96 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.9 ns/op 333.71 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 46.3 ns/op 323.68 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.9 ns/op 333.82 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.6 ns/op 336.33 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 43.9 ns/op 912.06 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.3 ns/op 945.28 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.7 ns/op 937.51 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 43.5 ns/op 919.03 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 44.9 ns/op 890.35 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.6 ns/op 938.20 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.3 ns/op 968.78 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.2 ns/op 970.69 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.3 ns/op 968.06 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.3 ns/op 968.27 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.3 ns/op 968.46 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 42.5 ns/op 941.20 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 43.2 ns/op 926.72 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 42.1 ns/op 949.91 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.9 ns/op 953.96 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.9 ns/op 954.23 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.5 ns/op 964.12 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 42.9 ns/op 932.70 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.7 ns/op 959.93 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.4 ns/op 966.36 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 2000000 56.1 ns/op 9128.24 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 2000000 56.2 ns/op 9107.94 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 3000000 56.1 ns/op 9129.45 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 3000000 56.5 ns/op 9064.49 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 3000000 58.1 ns/op 8819.84 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 3000000 59.0 ns/op 8675.61 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 2000000 55.9 ns/op 9157.53 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 3000000 57.0 ns/op 8976.22 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 2000000 58.7 ns/op 8724.66 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 2000000 57.6 ns/op 8887.48 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 2000000 58.3 ns/op 8782.52 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 3000000 57.6 ns/op 8882.44 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 2000000 57.0 ns/op 8980.50 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 3000000 56.4 ns/op 9071.81 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 3000000 56.0 ns/op 9135.04 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 2000000 58.8 ns/op 8705.97 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 2000000 56.2 ns/op 9115.68 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 3000000 57.3 ns/op 8941.28 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 3000000 56.3 ns/op 9090.66 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 3000000 57.8 ns/op 8854.75 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 2000000 92.6 ns/op 11058.32 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 2000000 93.8 ns/op 10913.47 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 2000000 93.5 ns/op 10953.07 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 2000000 95.0 ns/op 10778.58 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 2000000 94.8 ns/op 10799.14 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 2000000 95.3 ns/op 10741.03 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 2000000 92.6 ns/op 11055.29 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 1000000 100 ns/op 10189.63 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 2000000 95.3 ns/op 10747.01 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 1000000 102 ns/op 9978.90 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 1000000 103 ns/op 9907.74 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 2000000 92.8 ns/op 11036.21 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 2000000 92.8 ns/op 11031.01 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 1000000 102 ns/op 10006.87 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 2000000 93.1 ns/op 11000.89 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 2000000 92.8 ns/op 11029.36 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 2000000 95.3 ns/op 10743.40 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 2000000 93.6 ns/op 10941.47 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 2000000 93.3 ns/op 10979.13 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 2000000 92.6 ns/op 11053.13 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 302 ns/op 13561.37 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 294 ns/op 13906.19 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 298 ns/op 13734.81 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 296 ns/op 13826.62 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 301 ns/op 13598.75 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 299 ns/op 13676.26 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 299 ns/op 13686.88 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 289 ns/op 14143.28 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 296 ns/op 13824.99 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 500000 298 ns/op 13716.11 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 295 ns/op 13878.73 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 302 ns/op 13531.91 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 295 ns/op 13868.51 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 293 ns/op 13944.64 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 300 ns/op 13620.51 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 296 ns/op 13820.66 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 305 ns/op 13418.41 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 293 ns/op 13960.90 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 303 ns/op 13506.47 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 500000 309 ns/op 13218.83 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 100000 2149 ns/op 15241.57 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 50000 2230 ns/op 14693.09 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 100000 2183 ns/op 15005.52 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 100000 2115 ns/op 15486.09 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 100000 2227 ns/op 14708.97 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 50000 2140 ns/op 15308.69 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 100000 2157 ns/op 15188.25 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 50000 2133 ns/op 15359.48 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 100000 2117 ns/op 15475.06 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 100000 2129 ns/op 15385.26 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 100000 2233 ns/op 14673.10 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 100000 2244 ns/op 14596.46 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 50000 2154 ns/op 15211.73 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 100000 2156 ns/op 15196.79 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 50000 2159 ns/op 15175.66 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 100000 2151 ns/op 15228.03 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 100000 2169 ns/op 15105.80 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 100000 2206 ns/op 14850.25 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 100000 2145 ns/op 15271.77 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 50000 2166 ns/op 15126.92 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.1 ns/op 932.96 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.4 ns/op 912.82 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.2 ns/op 924.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.1 ns/op 934.22 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.2 ns/op 924.90 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.6 ns/op 904.66 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.5 ns/op 910.72 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 17.6 ns/op 853.00 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.4 ns/op 915.21 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.2 ns/op 923.54 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.2 ns/op 871.49 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.5 ns/op 854.97 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.3 ns/op 864.75 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 16.9 ns/op 885.36 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.4 ns/op 862.94 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 16.9 ns/op 887.89 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.0 ns/op 879.90 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.7 ns/op 847.32 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.6 ns/op 854.26 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.4 ns/op 864.10 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.5 ns/op 2279.37 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.1 ns/op 2334.42 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.9 ns/op 2235.38 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.1 ns/op 2338.42 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.2 ns/op 2325.21 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.8 ns/op 2251.24 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.8 ns/op 2242.41 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 18.2 ns/op 2199.30 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.4 ns/op 2305.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.3 ns/op 2315.62 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.5 ns/op 2055.96 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.7 ns/op 2034.99 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.3 ns/op 2068.49 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.8 ns/op 2021.43 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.4 ns/op 2060.79 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.3 ns/op 2076.79 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.1 ns/op 2091.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.0 ns/op 2100.75 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.5 ns/op 2049.71 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.3 ns/op 2074.54 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.7 ns/op 12891.27 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.1 ns/op 12777.24 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 41.7 ns/op 12266.52 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.8 ns/op 12866.81 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.8 ns/op 12862.14 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.8 ns/op 12537.54 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.3 ns/op 13022.34 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.9 ns/op 12817.64 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.8 ns/op 12543.27 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.4 ns/op 12993.64 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.7 ns/op 12276.08 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 42.0 ns/op 12199.95 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 42.2 ns/op 12121.96 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.9 ns/op 12215.42 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 43.2 ns/op 11854.68 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 42.1 ns/op 12165.99 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.5 ns/op 12328.95 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.9 ns/op 12206.89 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.6 ns/op 12306.14 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 42.6 ns/op 12022.39 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.4 ns/op 15646.46 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.9 ns/op 15531.97 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 66.4 ns/op 15422.12 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 66.7 ns/op 15358.30 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 72.1 ns/op 14207.76 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 66.3 ns/op 15455.53 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 66.2 ns/op 15479.94 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 68.6 ns/op 14926.33 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 66.3 ns/op 15436.78 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 66.1 ns/op 15481.91 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 68.6 ns/op 14928.29 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 67.2 ns/op 15241.88 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 68.3 ns/op 14985.73 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 68.5 ns/op 14958.31 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 69.2 ns/op 14806.15 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 68.4 ns/op 14977.84 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 69.1 ns/op 14822.32 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 67.5 ns/op 15171.65 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 70.7 ns/op 14489.26 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 69.4 ns/op 14744.72 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 157 ns/op 25978.03 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 156 ns/op 26173.33 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 160 ns/op 25471.67 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 156 ns/op 26190.72 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 164 ns/op 24861.89 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 157 ns/op 26018.79 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 156 ns/op 26101.53 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 163 ns/op 24990.34 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 162 ns/op 25138.27 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 157 ns/op 25972.54 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 164 ns/op 24908.40 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 160 ns/op 25529.63 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 167 ns/op 24412.21 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 162 ns/op 25206.52 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 158 ns/op 25827.66 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 160 ns/op 25519.93 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 163 ns/op 25090.11 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 159 ns/op 25657.75 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 160 ns/op 25576.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 163 ns/op 25007.68 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1233 ns/op 26561.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1223 ns/op 26786.22 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1193 ns/op 27451.16 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1288 ns/op 25436.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1212 ns/op 27022.56 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1245 ns/op 26314.42 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1208 ns/op 27105.89 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1200 ns/op 27296.77 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1226 ns/op 26714.57 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 200000 1189 ns/op 27542.78 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1235 ns/op 26530.39 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1193 ns/op 27444.08 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1272 ns/op 25752.85 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1210 ns/op 27080.94 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1207 ns/op 27142.02 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1245 ns/op 26305.41 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1226 ns/op 26710.70 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1223 ns/op 26787.03 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1217 ns/op 26921.93 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1180 ns/op 27746.71 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 35.6 ns/op 421.93 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 35.2 ns/op 425.84 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 36.1 ns/op 415.35 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 35.2 ns/op 426.25 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 35.6 ns/op 420.98 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 36.6 ns/op 410.25 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 35.1 ns/op 427.35 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 35.8 ns/op 419.33 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 35.6 ns/op 421.31 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 35.2 ns/op 425.93 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.1 ns/op 427.06 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.7 ns/op 420.07 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 3000000 35.2 ns/op 425.76 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.4 ns/op 423.84 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.4 ns/op 423.98 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 37.4 ns/op 400.57 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.7 ns/op 419.68 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.6 ns/op 421.03 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.5 ns/op 422.80 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 36.0 ns/op 417.04 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 89.8 ns/op 445.33 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 89.1 ns/op 448.86 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 87.6 ns/op 456.76 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 86.7 ns/op 461.44 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 86.6 ns/op 462.14 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 88.0 ns/op 454.58 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 87.2 ns/op 458.73 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 87.5 ns/op 457.33 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 86.4 ns/op 462.92 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 87.6 ns/op 456.63 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 87.2 ns/op 458.58 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 87.0 ns/op 459.82 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 89.1 ns/op 449.14 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 86.5 ns/op 462.62 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 88.8 ns/op 450.43 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 87.1 ns/op 459.03 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 87.8 ns/op 455.54 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 87.5 ns/op 457.36 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 90.9 ns/op 440.04 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 88.4 ns/op 452.59 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1100 ns/op 465.26 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1072 ns/op 477.31 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1075 ns/op 475.90 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1056 ns/op 484.71 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1113 ns/op 459.68 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1054 ns/op 485.69 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1066 ns/op 480.13 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1074 ns/op 476.36 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1057 ns/op 483.93 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1092 ns/op 468.52 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1074 ns/op 476.50 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1100 ns/op 465.08 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1106 ns/op 462.87 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1226 ns/op 417.43 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1189 ns/op 430.31 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1176 ns/op 435.29 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1235 ns/op 414.39 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1213 ns/op 422.03 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1210 ns/op 422.92 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1137 ns/op 450.03 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2259 ns/op 453.12 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2322 ns/op 441.00 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2350 ns/op 435.62 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2355 ns/op 434.74 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 2291 ns/op 446.86 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2343 ns/op 436.93 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2416 ns/op 423.68 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2410 ns/op 424.86 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2256 ns/op 453.73 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2405 ns/op 425.75 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 2472 ns/op 414.20 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2433 ns/op 420.76 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 2390 ns/op 428.34 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2368 ns/op 432.28 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2294 ns/op 446.37 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2334 ns/op 438.61 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2298 ns/op 445.50 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2374 ns/op 431.17 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2354 ns/op 434.95 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2284 ns/op 448.24 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8799 ns/op 465.49 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9346 ns/op 438.26 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9129 ns/op 448.65 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8710 ns/op 470.25 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8699 ns/op 470.83 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8704 ns/op 470.58 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9563 ns/op 428.28 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9173 ns/op 446.50 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9286 ns/op 441.08 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8623 ns/op 475.00 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8410 ns/op 487.02 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8847 ns/op 462.96 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8430 ns/op 485.83 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8505 ns/op 481.58 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8426 ns/op 486.11 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 10107 ns/op 405.24 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9125 ns/op 448.83 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9740 ns/op 420.50 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9564 ns/op 428.23 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9309 ns/op 439.97 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 69825 ns/op 469.28 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 74409 ns/op 440.37 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 75041 ns/op 436.67 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 72268 ns/op 453.42 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 73333 ns/op 446.84 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 70923 ns/op 462.02 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 70095 ns/op 467.48 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 76125 ns/op 430.45 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 73908 ns/op 443.36 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 73078 ns/op 448.39 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 76238 ns/op 429.81 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 74141 ns/op 441.97 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 71910 ns/op 455.67 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 76684 ns/op 427.31 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 75951 ns/op 431.43 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 73299 ns/op 447.04 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 76288 ns/op 429.53 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 73453 ns/op 446.10 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 72748 ns/op 450.43 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 72097 ns/op 454.50 MB/s
PASS
ok hash/crc32 72.655s
name old time/op new time/op delta
CRC32/poly=IEEE/size=40/align=0-8 42.5ns ± 6% 42.1ns ± 3% ~ (p=0.642 n=10+10)
CRC32/poly=IEEE/size=40/align=1-8 42.0ns ± 3% 41.7ns ± 5% ~ (p=0.148 n=10+10)
CRC32/poly=IEEE/size=4kB/align=0-8 298ns ± 1% 1682ns ± 2% +464.22% (p=0.000 n=9+9)
CRC32/poly=IEEE/size=4kB/align=1-8 299ns ± 3% 1690ns ± 4% +464.96% (p=0.000 n=10+10)
CRC32/poly=Castagnoli/size=40/align=0-8 17.5ns ± 4% 18.6ns ±11% +5.99% (p=0.049 n=10+10)
CRC32/poly=Castagnoli/size=40/align=1-8 19.4ns ± 2% 19.6ns ± 2% ~ (p=0.072 n=10+8)
CRC32/poly=Castagnoli/size=4kB/align=0-8 159ns ± 3% 161ns ± 8% ~ (p=0.421 n=10+10)
CRC32/poly=Castagnoli/size=4kB/align=1-8 162ns ± 3% 170ns ± 8% +4.95% (p=0.019 n=10+10)
CRC32/poly=Koopman/size=40/align=0-8 87.6ns ± 2% 93.8ns ±13% ~ (p=0.052 n=10+10)
CRC32/poly=Koopman/size=40/align=1-8 88.0ns ± 3% 86.9ns ± 3% -1.33% (p=0.050 n=10+10)
CRC32/poly=Koopman/size=4kB/align=0-8 9.00µs ± 6% 9.08µs ± 8% ~ (p=0.631 n=10+10)
CRC32/poly=Koopman/size=4kB/align=1-8 9.05µs ±12% 9.46µs ± 8% ~ (p=0.123 n=10+10)
name old speed new speed delta
CRC32/poly=IEEE/size=40/align=0-8 942MB/s ± 5% 951MB/s ± 3% ~ (p=0.684 n=10+10)
CRC32/poly=IEEE/size=40/align=1-8 952MB/s ± 3% 960MB/s ± 4% ~ (p=0.143 n=10+10)
CRC32/poly=IEEE/size=4kB/align=0-8 13.7GB/s ± 1% 2.4GB/s ± 2% -82.26% (p=0.000 n=9+9)
CRC32/poly=IEEE/size=4kB/align=1-8 13.7GB/s ± 3% 2.4GB/s ± 4% -82.28% (p=0.000 n=10+10)
CRC32/poly=Castagnoli/size=40/align=0-8 2.28GB/s ± 4% 2.16GB/s ±11% ~ (p=0.052 n=10+10)
CRC32/poly=Castagnoli/size=40/align=1-8 2.06GB/s ± 2% 2.04GB/s ± 2% ~ (p=0.055 n=10+8)
CRC32/poly=Castagnoli/size=4kB/align=0-8 25.7GB/s ± 3% 25.4GB/s ± 7% ~ (p=0.529 n=10+10)
CRC32/poly=Castagnoli/size=4kB/align=1-8 25.3GB/s ± 3% 24.1GB/s ± 8% -4.55% (p=0.015 n=10+10)
CRC32/poly=Koopman/size=40/align=0-8 456MB/s ± 2% 428MB/s ±12% ~ (p=0.052 n=10+10)
CRC32/poly=Koopman/size=40/align=1-8 455MB/s ± 3% 461MB/s ± 3% ~ (p=0.052 n=10+10)
CRC32/poly=Koopman/size=4kB/align=0-8 455MB/s ± 6% 452MB/s ± 8% ~ (p=0.631 n=10+10)
CRC32/poly=Koopman/size=4kB/align=1-8 455MB/s ±11% 434MB/s ± 9% ~ (p=0.123 n=10+10)
pkg: hash/crc32
goarch: amd64
goos: darwin
note: hw acceleration disabled
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 44.6 ns/op 336.59 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 47.3 ns/op 317.29 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 44.6 ns/op 336.14 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 46.3 ns/op 323.80 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 50.7 ns/op 295.90 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 45.8 ns/op 327.41 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 46.8 ns/op 320.56 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 44.3 ns/op 338.48 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 47.7 ns/op 314.52 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 3000000 50.6 ns/op 296.42 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 46.8 ns/op 320.44 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.0 ns/op 340.69 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.6 ns/op 336.05 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.1 ns/op 340.42 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.5 ns/op 336.82 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.0 ns/op 340.58 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.2 ns/op 339.16 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 45.1 ns/op 332.85 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 44.0 ns/op 340.71 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 3000000 45.8 ns/op 327.44 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.0 ns/op 975.84 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 43.0 ns/op 930.22 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 40.9 ns/op 978.39 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.3 ns/op 944.76 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.0 ns/op 976.58 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.0 ns/op 975.15 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.3 ns/op 967.88 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 40.8 ns/op 979.93 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.1 ns/op 974.19 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.2 ns/op 969.78 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 42.9 ns/op 931.47 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 40.9 ns/op 977.34 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.4 ns/op 965.44 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.2 ns/op 971.79 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.1 ns/op 972.53 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 40.8 ns/op 979.69 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 40.9 ns/op 978.70 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 40.9 ns/op 978.58 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.5 ns/op 964.07 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.0 ns/op 974.58 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 249 ns/op 2051.08 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 248 ns/op 2058.43 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 232 ns/op 2202.80 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 238 ns/op 2145.40 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 234 ns/op 2181.69 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 237 ns/op 2151.78 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 241 ns/op 2117.97 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 231 ns/op 2213.97 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 231 ns/op 2207.52 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 239 ns/op 2139.64 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 238 ns/op 2143.57 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 232 ns/op 2205.23 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 230 ns/op 2220.72 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 233 ns/op 2192.30 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 231 ns/op 2215.20 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 238 ns/op 2143.03 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 242 ns/op 2108.05 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 241 ns/op 2117.57 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 230 ns/op 2220.54 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 240 ns/op 2125.08 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 435 ns/op 2352.05 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 461 ns/op 2218.18 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 446 ns/op 2291.09 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 448 ns/op 2284.64 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 448 ns/op 2282.03 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 464 ns/op 2206.86 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 456 ns/op 2242.96 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 457 ns/op 2239.06 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 461 ns/op 2219.82 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 300000 449 ns/op 2278.55 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 436 ns/op 2343.28 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 452 ns/op 2263.28 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 443 ns/op 2310.35 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 446 ns/op 2292.48 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 436 ns/op 2346.76 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 445 ns/op 2296.07 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 451 ns/op 2268.08 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 450 ns/op 2274.49 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 441 ns/op 2320.41 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 300000 436 ns/op 2346.69 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1698 ns/op 2411.93 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1667 ns/op 2456.00 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1694 ns/op 2416.70 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1654 ns/op 2476.16 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1704 ns/op 2402.42 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1876 ns/op 2182.35 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1790 ns/op 2287.20 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1812 ns/op 2259.59 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1828 ns/op 2239.82 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1677 ns/op 2441.05 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1679 ns/op 2438.77 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1705 ns/op 2401.47 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1665 ns/op 2459.27 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1678 ns/op 2440.03 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1819 ns/op 2251.46 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1871 ns/op 2188.25 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1878 ns/op 2180.70 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1782 ns/op 2297.30 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1797 ns/op 2278.59 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1769 ns/op 2315.22 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 14964 ns/op 2189.65 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 14612 ns/op 2242.49 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 14258 ns/op 2298.15 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 15641 ns/op 2094.94 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 14653 ns/op 2236.19 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 15101 ns/op 2169.79 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 15065 ns/op 2174.97 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 15801 ns/op 2073.78 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 15459 ns/op 2119.55 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 13975 ns/op 2344.74 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 13567 ns/op 2415.11 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 14515 ns/op 2257.37 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 14510 ns/op 2258.21 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 15133 ns/op 2165.26 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 14383 ns/op 2278.22 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 14983 ns/op 2186.90 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 13519 ns/op 2423.74 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 13154 ns/op 2491.10 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 13594 ns/op 2410.43 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 14530 ns/op 2255.12 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 18.0 ns/op 834.41 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.4 ns/op 913.19 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.6 ns/op 903.85 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.3 ns/op 920.52 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.0 ns/op 937.53 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.6 ns/op 903.12 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.0 ns/op 934.62 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.6 ns/op 903.49 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.1 ns/op 930.77 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 10000000 16.8 ns/op 895.10 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.0 ns/op 884.78 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.5 ns/op 855.00 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.1 ns/op 874.74 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.5 ns/op 857.53 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.2 ns/op 869.69 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.0 ns/op 883.09 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.1 ns/op 877.29 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.2 ns/op 869.59 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 18.6 ns/op 807.75 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 10000000 17.4 ns/op 861.10 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.3 ns/op 2317.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.6 ns/op 2273.98 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.5 ns/op 2280.49 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.2 ns/op 2322.88 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.7 ns/op 2257.80 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.5 ns/op 2290.51 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.2 ns/op 2319.50 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.2 ns/op 2329.20 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.4 ns/op 2300.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.7 ns/op 2262.94 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 20.3 ns/op 1966.20 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.3 ns/op 2077.39 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.1 ns/op 2094.95 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.8 ns/op 2022.06 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.9 ns/op 2009.49 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.6 ns/op 2037.74 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 20.1 ns/op 1987.93 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.5 ns/op 2050.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.8 ns/op 2024.89 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.7 ns/op 2031.46 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.4 ns/op 12662.42 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.7 ns/op 12889.39 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.3 ns/op 12706.28 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.0 ns/op 12814.70 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.1 ns/op 12758.84 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.7 ns/op 12894.29 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.8 ns/op 12535.17 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.8 ns/op 12542.40 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 40.2 ns/op 12750.46 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 3000000 39.7 ns/op 12882.94 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.9 ns/op 12212.50 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.9 ns/op 12206.11 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 43.1 ns/op 11869.61 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 42.8 ns/op 11949.04 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 43.3 ns/op 11823.64 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 42.0 ns/op 12196.38 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.5 ns/op 12325.33 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.8 ns/op 12236.96 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.5 ns/op 12326.79 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 3000000 41.6 ns/op 12298.60 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.4 ns/op 15659.97 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.5 ns/op 15623.63 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.2 ns/op 15711.75 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.5 ns/op 15640.74 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.3 ns/op 15687.32 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 66.0 ns/op 15509.02 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.3 ns/op 15684.59 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 70.2 ns/op 14584.88 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.7 ns/op 15582.29 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 2000000 65.6 ns/op 15619.90 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 67.6 ns/op 15140.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 68.1 ns/op 15039.19 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 67.5 ns/op 15180.69 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 67.6 ns/op 15146.80 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 73.1 ns/op 14015.81 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 70.7 ns/op 14493.63 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 74.1 ns/op 13820.54 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 71.8 ns/op 14256.30 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 70.9 ns/op 14451.65 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 2000000 69.5 ns/op 14727.15 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 162 ns/op 25174.53 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 162 ns/op 25194.50 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 167 ns/op 24422.65 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 160 ns/op 25541.37 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 161 ns/op 25354.03 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 171 ns/op 23871.09 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 162 ns/op 25224.84 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 158 ns/op 25798.19 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 158 ns/op 25815.54 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 167 ns/op 24465.11 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 168 ns/op 24282.26 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 177 ns/op 23065.76 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 176 ns/op 23245.80 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 170 ns/op 24015.77 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 173 ns/op 23579.34 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 174 ns/op 23531.14 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 169 ns/op 24107.05 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 166 ns/op 24657.46 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 162 ns/op 25273.53 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 159 ns/op 25619.67 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1234 ns/op 26534.55 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1210 ns/op 27063.60 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1241 ns/op 26391.50 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1230 ns/op 26634.33 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1190 ns/op 27515.61 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1183 ns/op 27695.90 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1271 ns/op 25771.02 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1205 ns/op 27170.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1337 ns/op 24493.55 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 100000 1200 ns/op 27299.92 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1263 ns/op 25937.42 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1274 ns/op 25702.13 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1278 ns/op 25639.64 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1271 ns/op 25763.65 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1235 ns/op 26515.05 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1232 ns/op 26586.52 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1341 ns/op 24430.71 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1257 ns/op 26056.28 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1264 ns/op 25910.24 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 100000 1309 ns/op 25023.35 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 36.5 ns/op 410.82 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 37.3 ns/op 402.07 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 36.7 ns/op 408.83 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 34.8 ns/op 430.97 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 40.4 ns/op 371.74 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 38.6 ns/op 388.62 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 36.3 ns/op 413.61 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 34.0 ns/op 441.26 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 34.3 ns/op 437.06 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 5000000 36.2 ns/op 414.34 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 34.4 ns/op 435.65 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 37.0 ns/op 405.81 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.8 ns/op 419.55 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 36.5 ns/op 410.66 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 35.2 ns/op 425.85 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 34.4 ns/op 436.09 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 34.0 ns/op 441.70 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 33.9 ns/op 443.08 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 33.9 ns/op 443.04 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 5000000 36.4 ns/op 412.65 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 89.7 ns/op 445.75 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 90.4 ns/op 442.39 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 94.9 ns/op 421.61 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 87.4 ns/op 457.45 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 89.3 ns/op 448.11 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 90.3 ns/op 443.04 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 87.9 ns/op 455.14 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 93.7 ns/op 426.98 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 100 ns/op 396.87 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 92.8 ns/op 430.97 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 87.9 ns/op 455.30 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 90.9 ns/op 439.90 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 93.5 ns/op 427.91 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 93.7 ns/op 426.98 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 95.0 ns/op 421.02 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 90.1 ns/op 443.95 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 95.3 ns/op 419.61 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 85.6 ns/op 467.20 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 86.9 ns/op 460.19 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 91.9 ns/op 435.25 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1118 ns/op 457.68 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1168 ns/op 438.12 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1132 ns/op 452.06 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1079 ns/op 474.47 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1079 ns/op 474.46 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1126 ns/op 454.69 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1132 ns/op 452.04 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1193 ns/op 429.16 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1124 ns/op 455.38 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 200000 1166 ns/op 438.87 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1096 ns/op 466.92 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1117 ns/op 458.09 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1200 ns/op 426.33 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1109 ns/op 461.41 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1155 ns/op 443.08 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1141 ns/op 448.59 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1136 ns/op 450.61 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1145 ns/op 446.97 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 200000 1085 ns/op 471.86 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1084 ns/op 471.93 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2308 ns/op 443.53 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2480 ns/op 412.88 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2288 ns/op 447.44 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2371 ns/op 431.88 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2247 ns/op 455.55 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2211 ns/op 462.97 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2264 ns/op 452.17 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2231 ns/op 458.82 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2161 ns/op 473.71 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 100000 2109 ns/op 485.48 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2160 ns/op 473.90 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2103 ns/op 486.83 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2189 ns/op 467.75 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2159 ns/op 474.21 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2144 ns/op 477.53 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2169 ns/op 472.09 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2123 ns/op 482.20 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 2150 ns/op 476.26 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2141 ns/op 478.25 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 100000 2238 ns/op 457.51 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8562 ns/op 478.35 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8584 ns/op 477.16 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9176 ns/op 446.36 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9096 ns/op 450.27 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9337 ns/op 438.67 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9545 ns/op 429.11 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9287 ns/op 441.04 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8963 ns/op 456.98 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8970 ns/op 456.61 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8795 ns/op 465.67 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9179 ns/op 446.20 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9026 ns/op 453.76 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8505 ns/op 481.60 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8396 ns/op 487.85 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9818 ns/op 417.17 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8652 ns/op 473.38 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8689 ns/op 471.36 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8345 ns/op 490.83 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9391 ns/op 436.13 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9401 ns/op 435.66 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 74664 ns/op 438.87 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 72859 ns/op 449.74 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 73403 ns/op 446.41 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 73646 ns/op 444.94 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 76501 ns/op 428.33 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 78648 ns/op 416.64 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 69550 ns/op 471.14 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 67848 ns/op 482.96 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 67984 ns/op 482.00 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 69177 ns/op 473.68 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 70108 ns/op 467.39 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 67566 ns/op 484.98 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 71256 ns/op 459.86 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 69979 ns/op 468.25 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 69972 ns/op 468.30 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 68356 ns/op 479.37 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 69631 ns/op 470.59 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 70087 ns/op 467.53 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 75510 ns/op 433.95 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 76970 ns/op 425.72 MB/s
PASS
ok hash/crc32 68.427s
name old time/op new time/op delta
CRC32/poly=IEEE/size=15/align=0-8 46.9ns ± 8% 44.5ns ± 3% -5.01% (p=0.008 n=10+10)
CRC32/poly=IEEE/size=15/align=1-8 44.7ns ± 5% 44.5ns ± 4% ~ (p=0.539 n=10+10)
CRC32/poly=IEEE/size=40/align=0-8 41.0ns ± 1% 42.5ns ± 6% +3.56% (p=0.000 n=8+10)
CRC32/poly=IEEE/size=40/align=1-8 41.1ns ± 1% 42.0ns ± 3% +2.34% (p=0.000 n=9+10)
CRC32/poly=IEEE/size=512/align=0-8 238ns ± 5% 57ns ± 3% -76.00% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=512/align=1-8 236ns ± 3% 57ns ± 3% -75.72% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=1kB/align=0-8 452ns ± 4% 94ns ± 2% -79.20% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=1kB/align=1-8 444ns ± 2% 93ns ± 2% -78.97% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=4kB/align=0-8 1.74µs ± 8% 0.30µs ± 1% -82.87% (p=0.000 n=10+9)
CRC32/poly=IEEE/size=4kB/align=1-8 1.76µs ± 6% 0.30µs ± 3% -83.05% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=0-8 15.0µs ± 7% 2.2µs ± 3% -85.57% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=1-8 14.2µs ± 7% 2.2µs ± 3% -84.65% (p=0.000 n=10+10)
CRC32/poly=Castagnoli/size=15/align=0-8 16.4ns ± 3% 16.3ns ± 2% ~ (p=0.615 n=9+9)
CRC32/poly=Castagnoli/size=15/align=1-8 17.2ns ± 2% 17.3ns ± 2% ~ (p=0.650 n=9+10)
CRC32/poly=Castagnoli/size=40/align=0-8 17.4ns ± 2% 17.5ns ± 4% ~ (p=0.694 n=10+10)
CRC32/poly=Castagnoli/size=40/align=1-8 19.7ns ± 3% 19.4ns ± 2% -1.62% (p=0.036 n=10+10)
CRC32/poly=Castagnoli/size=512/align=0-8 40.2ns ± 2% 40.1ns ± 4% ~ (p=0.614 n=10+10)
CRC32/poly=Castagnoli/size=512/align=1-8 42.1ns ± 3% 41.9ns ± 2% ~ (p=0.952 n=10+9)
CRC32/poly=Castagnoli/size=1kB/align=0-8 65.5ns ± 1% 66.2ns ± 1% +1.01% (p=0.003 n=9+8)
CRC32/poly=Castagnoli/size=1kB/align=1-8 70.1ns ± 6% 68.5ns ± 2% ~ (p=0.190 n=10+9)
CRC32/poly=Castagnoli/size=4kB/align=0-8 163ns ± 5% 159ns ± 3% -2.46% (p=0.032 n=10+10)
CRC32/poly=Castagnoli/size=4kB/align=1-8 169ns ± 6% 162ns ± 3% -4.60% (p=0.005 n=10+10)
CRC32/poly=Castagnoli/size=32kB/align=0-8 1.22µs ± 4% 1.21µs ± 3% ~ (p=0.882 n=9+9)
CRC32/poly=Castagnoli/size=32kB/align=1-8 1.26µs ± 3% 1.22µs ± 4% -3.48% (p=0.002 n=9+10)
CRC32/poly=Koopman/size=15/align=0-8 36.5ns ±11% 35.6ns ± 3% ~ (p=0.216 n=10+10)
CRC32/poly=Koopman/size=15/align=1-8 35.1ns ± 5% 35.5ns ± 1% ~ (p=0.508 n=10+9)
CRC32/poly=Koopman/size=40/align=0-8 91.6ns ± 9% 87.6ns ± 2% -4.35% (p=0.002 n=10+10)
CRC32/poly=Koopman/size=40/align=1-8 91.1ns ± 6% 88.0ns ± 3% ~ (p=0.055 n=10+10)
CRC32/poly=Koopman/size=512/align=0-8 1.13µs ± 5% 1.08µs ± 3% -4.93% (p=0.000 n=10+10)
CRC32/poly=Koopman/size=512/align=1-8 1.13µs ± 6% 1.17µs ± 8% ~ (p=0.143 n=10+10)
CRC32/poly=Koopman/size=1kB/align=0-8 2.24µs ± 6% 2.34µs ± 4% +4.34% (p=0.010 n=9+10)
CRC32/poly=Koopman/size=1kB/align=1-8 2.15µs ± 2% 2.36µs ± 5% +9.84% (p=0.000 n=9+10)
CRC32/poly=Koopman/size=4kB/align=0-8 9.03µs ± 6% 9.00µs ± 6% ~ (p=0.971 n=10+10)
CRC32/poly=Koopman/size=4kB/align=1-8 8.94µs ±10% 9.05µs ±12% ~ (p=0.754 n=10+10)
CRC32/poly=Koopman/size=32kB/align=0-8 72.4µs ± 9% 72.9µs ± 4% ~ (p=0.684 n=10+10)
CRC32/poly=Koopman/size=32kB/align=1-8 69.6µs ± 3% 74.3µs ± 3% +6.70% (p=0.000 n=8+10)
name old speed new speed delta
CRC32/poly=IEEE/size=15/align=0-8 321MB/s ± 8% 337MB/s ± 3% +5.06% (p=0.009 n=10+10)
CRC32/poly=IEEE/size=15/align=1-8 336MB/s ± 4% 337MB/s ± 4% ~ (p=0.579 n=10+10)
CRC32/poly=IEEE/size=40/align=0-8 975MB/s ± 1% 942MB/s ± 5% -3.37% (p=0.001 n=8+10)
CRC32/poly=IEEE/size=40/align=1-8 974MB/s ± 1% 952MB/s ± 3% -2.25% (p=0.000 n=9+10)
CRC32/poly=IEEE/size=512/align=0-8 2.15GB/s ± 4% 8.97GB/s ± 3% +317.65% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=512/align=1-8 2.17GB/s ± 3% 8.96GB/s ± 3% +312.89% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=1kB/align=0-8 2.26GB/s ± 4% 10.88GB/s ± 2% +381.12% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=1kB/align=1-8 2.31GB/s ± 2% 10.98GB/s ± 2% +375.97% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=4kB/align=0-8 2.36GB/s ± 7% 13.73GB/s ± 1% +482.26% (p=0.000 n=10+9)
CRC32/poly=IEEE/size=4kB/align=1-8 2.33GB/s ± 6% 13.68GB/s ± 3% +488.23% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=0-8 2.19GB/s ± 7% 15.19GB/s ± 3% +591.99% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=1-8 2.31GB/s ± 8% 15.04GB/s ± 3% +550.07% (p=0.000 n=10+10)
CRC32/poly=Castagnoli/size=15/align=0-8 916MB/s ± 2% 920MB/s ± 2% ~ (p=0.489 n=9+9)
CRC32/poly=Castagnoli/size=15/align=1-8 870MB/s ± 2% 867MB/s ± 2% ~ (p=0.661 n=9+10)
CRC32/poly=Castagnoli/size=40/align=0-8 2.30GB/s ± 2% 2.28GB/s ± 4% ~ (p=0.684 n=10+10)
CRC32/poly=Castagnoli/size=40/align=1-8 2.03GB/s ± 3% 2.06GB/s ± 2% ~ (p=0.063 n=10+10)
CRC32/poly=Castagnoli/size=512/align=0-8 12.7GB/s ± 2% 12.8GB/s ± 4% ~ (p=0.529 n=10+10)
CRC32/poly=Castagnoli/size=512/align=1-8 12.1GB/s ± 3% 12.2GB/s ± 1% ~ (p=0.780 n=10+9)
CRC32/poly=Castagnoli/size=1kB/align=0-8 15.6GB/s ± 1% 15.5GB/s ± 1% -1.02% (p=0.002 n=9+8)
CRC32/poly=Castagnoli/size=1kB/align=1-8 14.6GB/s ± 6% 15.0GB/s ± 2% ~ (p=0.211 n=10+9)
CRC32/poly=Castagnoli/size=4kB/align=0-8 25.1GB/s ± 5% 25.7GB/s ± 3% ~ (p=0.052 n=10+10)
CRC32/poly=Castagnoli/size=4kB/align=1-8 24.1GB/s ± 6% 25.3GB/s ± 3% +4.71% (p=0.005 n=10+10)
CRC32/poly=Castagnoli/size=32kB/align=0-8 26.9GB/s ± 4% 26.8GB/s ± 5% ~ (p=0.842 n=9+10)
CRC32/poly=Castagnoli/size=32kB/align=1-8 25.9GB/s ± 3% 26.8GB/s ± 4% +3.62% (p=0.002 n=9+10)
CRC32/poly=Koopman/size=15/align=0-8 412MB/s ±10% 421MB/s ± 3% ~ (p=0.218 n=10+10)
CRC32/poly=Koopman/size=15/align=1-8 427MB/s ± 5% 422MB/s ± 1% ~ (p=0.497 n=10+9)
CRC32/poly=Koopman/size=40/align=0-8 437MB/s ± 9% 456MB/s ± 2% +4.50% (p=0.002 n=10+10)
CRC32/poly=Koopman/size=40/align=1-8 440MB/s ± 6% 455MB/s ± 3% ~ (p=0.052 n=10+10)
CRC32/poly=Koopman/size=512/align=0-8 453MB/s ± 5% 476MB/s ± 3% +5.09% (p=0.000 n=10+10)
CRC32/poly=Koopman/size=512/align=1-8 455MB/s ± 6% 440MB/s ± 8% ~ (p=0.143 n=10+10)
CRC32/poly=Koopman/size=1kB/align=0-8 452MB/s ± 9% 438MB/s ± 4% ~ (p=0.052 n=10+10)
CRC32/poly=Koopman/size=1kB/align=1-8 477MB/s ± 2% 434MB/s ± 5% -8.92% (p=0.000 n=9+10)
CRC32/poly=Koopman/size=4kB/align=0-8 454MB/s ± 5% 455MB/s ± 6% ~ (p=0.971 n=10+10)
CRC32/poly=Koopman/size=4kB/align=1-8 459MB/s ± 9% 455MB/s ±11% ~ (p=0.739 n=10+10)
CRC32/poly=Koopman/size=32kB/align=0-8 453MB/s ± 8% 450MB/s ± 4% ~ (p=0.684 n=10+10)
CRC32/poly=Koopman/size=32kB/align=1-8 471MB/s ± 3% 441MB/s ± 3% -6.25% (p=0.000 n=8+10)
<style>.benchstat tbody td:nth-child(1n+2) { text-align: right; padding: 0em 1em; }</style>
<table class='benchstat'>
<tr><th>name \ time/op</th><th>old.txt</th><th>new.txt</th><th>slashslash4.txt</th>
<tr><td>CRC32/poly=IEEE/size=15/align=0-8</td><td>46.9ns ± 8%</td><td>44.5ns ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=15/align=1-8</td><td>44.7ns ± 5%</td><td>44.5ns ± 4%</td>
<tr><td>CRC32/poly=IEEE/size=40/align=0-8</td><td>41.0ns ± 1%</td><td>42.5ns ± 6%</td><td>42.1ns ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=40/align=1-8</td><td>41.1ns ± 1%</td><td>42.0ns ± 3%</td><td>41.7ns ± 5%</td>
<tr><td>CRC32/poly=IEEE/size=512/align=0-8</td><td>238ns ± 5%</td><td>57ns ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=512/align=1-8</td><td>236ns ± 3%</td><td>57ns ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=1kB/align=0-8</td><td>452ns ± 4%</td><td>94ns ± 2%</td>
<tr><td>CRC32/poly=IEEE/size=1kB/align=1-8</td><td>444ns ± 2%</td><td>93ns ± 2%</td>
<tr><td>CRC32/poly=IEEE/size=4kB/align=0-8</td><td>1.74µs ± 8%</td><td>0.30µs ± 1%</td><td>1.68µs ± 2%</td>
<tr><td>CRC32/poly=IEEE/size=4kB/align=1-8</td><td>1.76µs ± 6%</td><td>0.30µs ± 3%</td><td>1.69µs ± 4%</td>
<tr><td>CRC32/poly=IEEE/size=32kB/align=0-8</td><td>15.0µs ± 7%</td><td>2.2µs ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=32kB/align=1-8</td><td>14.2µs ± 7%</td><td>2.2µs ± 3%</td>
<tr><td>CRC32/poly=Castagnoli/size=15/align=0-8</td><td>16.4ns ± 3%</td><td>16.3ns ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=15/align=1-8</td><td>17.2ns ± 2%</td><td>17.3ns ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=40/align=0-8</td><td>17.4ns ± 2%</td><td>17.5ns ± 4%</td><td>18.6ns ±11%</td>
<tr><td>CRC32/poly=Castagnoli/size=40/align=1-8</td><td>19.7ns ± 3%</td><td>19.4ns ± 2%</td><td>19.6ns ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=512/align=0-8</td><td>40.2ns ± 2%</td><td>40.1ns ± 4%</td>
<tr><td>CRC32/poly=Castagnoli/size=512/align=1-8</td><td>42.1ns ± 3%</td><td>41.9ns ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=1kB/align=0-8</td><td>65.5ns ± 1%</td><td>66.2ns ± 1%</td>
<tr><td>CRC32/poly=Castagnoli/size=1kB/align=1-8</td><td>70.1ns ± 6%</td><td>68.5ns ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=4kB/align=0-8</td><td>163ns ± 5%</td><td>159ns ± 3%</td><td>161ns ± 8%</td>
<tr><td>CRC32/poly=Castagnoli/size=4kB/align=1-8</td><td>169ns ± 6%</td><td>162ns ± 3%</td><td>170ns ± 8%</td>
<tr><td>CRC32/poly=Castagnoli/size=32kB/align=0-8</td><td>1.22µs ± 4%</td><td>1.21µs ± 3%</td>
<tr><td>CRC32/poly=Castagnoli/size=32kB/align=1-8</td><td>1.26µs ± 3%</td><td>1.22µs ± 4%</td>
<tr><td>CRC32/poly=Koopman/size=15/align=0-8</td><td>36.5ns ±11%</td><td>35.6ns ± 3%</td>
<tr><td>CRC32/poly=Koopman/size=15/align=1-8</td><td>35.1ns ± 5%</td><td>35.5ns ± 1%</td>
<tr><td>CRC32/poly=Koopman/size=40/align=0-8</td><td>91.6ns ± 9%</td><td>87.6ns ± 2%</td><td>93.8ns ±13%</td>
<tr><td>CRC32/poly=Koopman/size=40/align=1-8</td><td>91.1ns ± 6%</td><td>88.0ns ± 3%</td><td>86.9ns ± 3%</td>
<tr><td>CRC32/poly=Koopman/size=512/align=0-8</td><td>1.13µs ± 5%</td><td>1.08µs ± 3%</td>
<tr><td>CRC32/poly=Koopman/size=512/align=1-8</td><td>1.13µs ± 6%</td><td>1.17µs ± 8%</td>
<tr><td>CRC32/poly=Koopman/size=1kB/align=0-8</td><td>2.24µs ± 6%</td><td>2.34µs ± 4%</td>
<tr><td>CRC32/poly=Koopman/size=1kB/align=1-8</td><td>2.15µs ± 2%</td><td>2.36µs ± 5%</td>
<tr><td>CRC32/poly=Koopman/size=4kB/align=0-8</td><td>9.03µs ± 6%</td><td>9.00µs ± 6%</td><td>9.08µs ± 8%</td>
<tr><td>CRC32/poly=Koopman/size=4kB/align=1-8</td><td>8.94µs ±10%</td><td>9.05µs ±12%</td><td>9.46µs ± 8%</td>
<tr><td>CRC32/poly=Koopman/size=32kB/align=0-8</td><td>72.4µs ± 9%</td><td>72.9µs ± 4%</td>
<tr><td>CRC32/poly=Koopman/size=32kB/align=1-8</td><td>69.6µs ± 3%</td><td>74.3µs ± 3%</td>
</table>
<style>.benchstat tbody td:nth-child(1n+2) { text-align: right; padding: 0em 1em; }</style>
<table class='benchstat'>
<tr><th>name \ speed</th><th>old.txt</th><th>new.txt</th><th>slashslash4.txt</th>
<tr><td>CRC32/poly=IEEE/size=15/align=0-8</td><td>321MB/s ± 8%</td><td>337MB/s ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=15/align=1-8</td><td>336MB/s ± 4%</td><td>337MB/s ± 4%</td>
<tr><td>CRC32/poly=IEEE/size=40/align=0-8</td><td>975MB/s ± 1%</td><td>942MB/s ± 5%</td><td>951MB/s ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=40/align=1-8</td><td>974MB/s ± 1%</td><td>952MB/s ± 3%</td><td>960MB/s ± 4%</td>
<tr><td>CRC32/poly=IEEE/size=512/align=0-8</td><td>2.15GB/s ± 4%</td><td>8.97GB/s ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=512/align=1-8</td><td>2.17GB/s ± 3%</td><td>8.96GB/s ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=1kB/align=0-8</td><td>2.26GB/s ± 4%</td><td>10.88GB/s ± 2%</td>
<tr><td>CRC32/poly=IEEE/size=1kB/align=1-8</td><td>2.31GB/s ± 2%</td><td>10.98GB/s ± 2%</td>
<tr><td>CRC32/poly=IEEE/size=4kB/align=0-8</td><td>2.36GB/s ± 7%</td><td>13.73GB/s ± 1%</td><td>2.43GB/s ± 2%</td>
<tr><td>CRC32/poly=IEEE/size=4kB/align=1-8</td><td>2.33GB/s ± 6%</td><td>13.68GB/s ± 3%</td><td>2.42GB/s ± 4%</td>
<tr><td>CRC32/poly=IEEE/size=32kB/align=0-8</td><td>2.19GB/s ± 7%</td><td>15.19GB/s ± 3%</td>
<tr><td>CRC32/poly=IEEE/size=32kB/align=1-8</td><td>2.31GB/s ± 8%</td><td>15.04GB/s ± 3%</td>
<tr><td>CRC32/poly=Castagnoli/size=15/align=0-8</td><td>916MB/s ± 2%</td><td>920MB/s ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=15/align=1-8</td><td>870MB/s ± 2%</td><td>867MB/s ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=40/align=0-8</td><td>2.30GB/s ± 2%</td><td>2.28GB/s ± 4%</td><td>2.16GB/s ±11%</td>
<tr><td>CRC32/poly=Castagnoli/size=40/align=1-8</td><td>2.03GB/s ± 3%</td><td>2.06GB/s ± 2%</td><td>2.04GB/s ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=512/align=0-8</td><td>12.7GB/s ± 2%</td><td>12.8GB/s ± 4%</td>
<tr><td>CRC32/poly=Castagnoli/size=512/align=1-8</td><td>12.1GB/s ± 3%</td><td>12.2GB/s ± 1%</td>
<tr><td>CRC32/poly=Castagnoli/size=1kB/align=0-8</td><td>15.6GB/s ± 1%</td><td>15.5GB/s ± 1%</td>
<tr><td>CRC32/poly=Castagnoli/size=1kB/align=1-8</td><td>14.6GB/s ± 6%</td><td>15.0GB/s ± 2%</td>
<tr><td>CRC32/poly=Castagnoli/size=4kB/align=0-8</td><td>25.1GB/s ± 5%</td><td>25.7GB/s ± 3%</td><td>25.4GB/s ± 7%</td>
<tr><td>CRC32/poly=Castagnoli/size=4kB/align=1-8</td><td>24.1GB/s ± 6%</td><td>25.3GB/s ± 3%</td><td>24.1GB/s ± 8%</td>
<tr><td>CRC32/poly=Castagnoli/size=32kB/align=0-8</td><td>26.9GB/s ± 4%</td><td>26.8GB/s ± 5%</td>
<tr><td>CRC32/poly=Castagnoli/size=32kB/align=1-8</td><td>25.9GB/s ± 3%</td><td>26.8GB/s ± 4%</td>
<tr><td>CRC32/poly=Koopman/size=15/align=0-8</td><td>412MB/s ±10%</td><td>421MB/s ± 3%</td>
<tr><td>CRC32/poly=Koopman/size=15/align=1-8</td><td>427MB/s ± 5%</td><td>422MB/s ± 1%</td>
<tr><td>CRC32/poly=Koopman/size=40/align=0-8</td><td>437MB/s ± 9%</td><td>456MB/s ± 2%</td><td>428MB/s ±12%</td>
<tr><td>CRC32/poly=Koopman/size=40/align=1-8</td><td>440MB/s ± 6%</td><td>455MB/s ± 3%</td><td>461MB/s ± 3%</td>
<tr><td>CRC32/poly=Koopman/size=512/align=0-8</td><td>453MB/s ± 5%</td><td>476MB/s ± 3%</td>
<tr><td>CRC32/poly=Koopman/size=512/align=1-8</td><td>455MB/s ± 6%</td><td>440MB/s ± 8%</td>
<tr><td>CRC32/poly=Koopman/size=1kB/align=0-8</td><td>452MB/s ± 9%</td><td>438MB/s ± 4%</td>
<tr><td>CRC32/poly=Koopman/size=1kB/align=1-8</td><td>477MB/s ± 2%</td><td>434MB/s ± 5%</td>
<tr><td>CRC32/poly=Koopman/size=4kB/align=0-8</td><td>454MB/s ± 5%</td><td>455MB/s ± 6%</td><td>452MB/s ± 8%</td>
<tr><td>CRC32/poly=Koopman/size=4kB/align=1-8</td><td>459MB/s ± 9%</td><td>455MB/s ±11%</td><td>434MB/s ± 9%</td>
<tr><td>CRC32/poly=Koopman/size=32kB/align=0-8</td><td>453MB/s ± 8%</td><td>450MB/s ± 4%</td>
<tr><td>CRC32/poly=Koopman/size=32kB/align=1-8</td><td>471MB/s ± 3%</td><td>441MB/s ± 3%</td>
</table>
name old time/op new time/op delta
CRC32/poly=IEEE/size=15/align=0-8 46.9ns ± 8% 44.5ns ± 3% -5.01% (p=0.008 n=10+10)
CRC32/poly=IEEE/size=15/align=1-8 44.7ns ± 5% 44.5ns ± 4% ~ (p=0.539 n=10+10)
CRC32/poly=IEEE/size=40/align=0-8 41.0ns ± 1% 42.5ns ± 6% +3.56% (p=0.000 n=8+10)
CRC32/poly=IEEE/size=40/align=1-8 41.1ns ± 1% 42.0ns ± 3% +2.34% (p=0.000 n=9+10)
CRC32/poly=IEEE/size=512/align=0-8 238ns ± 5% 57ns ± 3% -76.00% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=512/align=1-8 236ns ± 3% 57ns ± 3% -75.72% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=1kB/align=0-8 452ns ± 4% 94ns ± 2% -79.20% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=1kB/align=1-8 444ns ± 2% 93ns ± 2% -78.97% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=4kB/align=0-8 1.74µs ± 8% 0.30µs ± 1% -82.87% (p=0.000 n=10+9)
CRC32/poly=IEEE/size=4kB/align=1-8 1.76µs ± 6% 0.30µs ± 3% -83.05% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=0-8 15.0µs ± 7% 2.2µs ± 3% -85.57% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=1-8 14.2µs ± 7% 2.2µs ± 3% -84.65% (p=0.000 n=10+10)
CRC32/poly=Castagnoli/size=15/align=0-8 16.4ns ± 3% 16.3ns ± 2% ~ (p=0.615 n=9+9)
CRC32/poly=Castagnoli/size=15/align=1-8 17.2ns ± 2% 17.3ns ± 2% ~ (p=0.650 n=9+10)
CRC32/poly=Castagnoli/size=40/align=0-8 17.4ns ± 2% 17.5ns ± 4% ~ (p=0.694 n=10+10)
CRC32/poly=Castagnoli/size=40/align=1-8 19.7ns ± 3% 19.4ns ± 2% -1.62% (p=0.036 n=10+10)
CRC32/poly=Castagnoli/size=512/align=0-8 40.2ns ± 2% 40.1ns ± 4% ~ (p=0.614 n=10+10)
CRC32/poly=Castagnoli/size=512/align=1-8 42.1ns ± 3% 41.9ns ± 2% ~ (p=0.952 n=10+9)
CRC32/poly=Castagnoli/size=1kB/align=0-8 65.5ns ± 1% 66.2ns ± 1% +1.01% (p=0.003 n=9+8)
CRC32/poly=Castagnoli/size=1kB/align=1-8 70.1ns ± 6% 68.5ns ± 2% ~ (p=0.190 n=10+9)
CRC32/poly=Castagnoli/size=4kB/align=0-8 163ns ± 5% 159ns ± 3% -2.46% (p=0.032 n=10+10)
CRC32/poly=Castagnoli/size=4kB/align=1-8 169ns ± 6% 162ns ± 3% -4.60% (p=0.005 n=10+10)
CRC32/poly=Castagnoli/size=32kB/align=0-8 1.22µs ± 4% 1.21µs ± 3% ~ (p=0.882 n=9+9)
CRC32/poly=Castagnoli/size=32kB/align=1-8 1.26µs ± 3% 1.22µs ± 4% -3.48% (p=0.002 n=9+10)
CRC32/poly=Koopman/size=15/align=0-8 36.5ns ±11% 35.6ns ± 3% ~ (p=0.216 n=10+10)
CRC32/poly=Koopman/size=15/align=1-8 35.1ns ± 5% 35.5ns ± 1% ~ (p=0.508 n=10+9)
CRC32/poly=Koopman/size=40/align=0-8 91.6ns ± 9% 87.6ns ± 2% -4.35% (p=0.002 n=10+10)
CRC32/poly=Koopman/size=40/align=1-8 91.1ns ± 6% 88.0ns ± 3% ~ (p=0.055 n=10+10)
CRC32/poly=Koopman/size=512/align=0-8 1.13µs ± 5% 1.08µs ± 3% -4.93% (p=0.000 n=10+10)
CRC32/poly=Koopman/size=512/align=1-8 1.13µs ± 6% 1.17µs ± 8% ~ (p=0.143 n=10+10)
CRC32/poly=Koopman/size=1kB/align=0-8 2.24µs ± 6% 2.34µs ± 4% +4.34% (p=0.010 n=9+10)
CRC32/poly=Koopman/size=1kB/align=1-8 2.15µs ± 2% 2.36µs ± 5% +9.84% (p=0.000 n=9+10)
CRC32/poly=Koopman/size=4kB/align=0-8 9.03µs ± 6% 9.00µs ± 6% ~ (p=0.971 n=10+10)
CRC32/poly=Koopman/size=4kB/align=1-8 8.94µs ±10% 9.05µs ±12% ~ (p=0.754 n=10+10)
CRC32/poly=Koopman/size=32kB/align=0-8 72.4µs ± 9% 72.9µs ± 4% ~ (p=0.684 n=10+10)
CRC32/poly=Koopman/size=32kB/align=1-8 69.6µs ± 3% 74.3µs ± 3% +6.70% (p=0.000 n=8+10)
[Geo mean] 345ns 238ns -30.99%
name old speed new speed delta
CRC32/poly=IEEE/size=15/align=0-8 321MB/s ± 8% 337MB/s ± 3% +5.06% (p=0.009 n=10+10)
CRC32/poly=IEEE/size=15/align=1-8 336MB/s ± 4% 337MB/s ± 4% ~ (p=0.579 n=10+10)
CRC32/poly=IEEE/size=40/align=0-8 975MB/s ± 1% 942MB/s ± 5% -3.37% (p=0.001 n=8+10)
CRC32/poly=IEEE/size=40/align=1-8 974MB/s ± 1% 952MB/s ± 3% -2.25% (p=0.000 n=9+10)
CRC32/poly=IEEE/size=512/align=0-8 2.15GB/s ± 4% 8.97GB/s ± 3% +317.65% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=512/align=1-8 2.17GB/s ± 3% 8.96GB/s ± 3% +312.89% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=1kB/align=0-8 2.26GB/s ± 4% 10.88GB/s ± 2% +381.12% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=1kB/align=1-8 2.31GB/s ± 2% 10.98GB/s ± 2% +375.97% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=4kB/align=0-8 2.36GB/s ± 7% 13.73GB/s ± 1% +482.26% (p=0.000 n=10+9)
CRC32/poly=IEEE/size=4kB/align=1-8 2.33GB/s ± 6% 13.68GB/s ± 3% +488.23% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=0-8 2.19GB/s ± 7% 15.19GB/s ± 3% +591.99% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=1-8 2.31GB/s ± 8% 15.04GB/s ± 3% +550.07% (p=0.000 n=10+10)
CRC32/poly=Castagnoli/size=15/align=0-8 916MB/s ± 2% 920MB/s ± 2% ~ (p=0.489 n=9+9)
CRC32/poly=Castagnoli/size=15/align=1-8 870MB/s ± 2% 867MB/s ± 2% ~ (p=0.661 n=9+10)
CRC32/poly=Castagnoli/size=40/align=0-8 2.30GB/s ± 2% 2.28GB/s ± 4% ~ (p=0.684 n=10+10)
CRC32/poly=Castagnoli/size=40/align=1-8 2.03GB/s ± 3% 2.06GB/s ± 2% ~ (p=0.063 n=10+10)
CRC32/poly=Castagnoli/size=512/align=0-8 12.7GB/s ± 2% 12.8GB/s ± 4% ~ (p=0.529 n=10+10)
CRC32/poly=Castagnoli/size=512/align=1-8 12.1GB/s ± 3% 12.2GB/s ± 1% ~ (p=0.780 n=10+9)
CRC32/poly=Castagnoli/size=1kB/align=0-8 15.6GB/s ± 1% 15.5GB/s ± 1% -1.02% (p=0.002 n=9+8)
CRC32/poly=Castagnoli/size=1kB/align=1-8 14.6GB/s ± 6% 15.0GB/s ± 2% ~ (p=0.211 n=10+9)
CRC32/poly=Castagnoli/size=4kB/align=0-8 25.1GB/s ± 5% 25.7GB/s ± 3% ~ (p=0.052 n=10+10)
CRC32/poly=Castagnoli/size=4kB/align=1-8 24.1GB/s ± 6% 25.3GB/s ± 3% +4.71% (p=0.005 n=10+10)
CRC32/poly=Castagnoli/size=32kB/align=0-8 26.9GB/s ± 4% 26.8GB/s ± 5% ~ (p=0.842 n=9+10)
CRC32/poly=Castagnoli/size=32kB/align=1-8 25.9GB/s ± 3% 26.8GB/s ± 4% +3.62% (p=0.002 n=9+10)
CRC32/poly=Koopman/size=15/align=0-8 412MB/s ±10% 421MB/s ± 3% ~ (p=0.218 n=10+10)
CRC32/poly=Koopman/size=15/align=1-8 427MB/s ± 5% 422MB/s ± 1% ~ (p=0.497 n=10+9)
CRC32/poly=Koopman/size=40/align=0-8 437MB/s ± 9% 456MB/s ± 2% +4.50% (p=0.002 n=10+10)
CRC32/poly=Koopman/size=40/align=1-8 440MB/s ± 6% 455MB/s ± 3% ~ (p=0.052 n=10+10)
CRC32/poly=Koopman/size=512/align=0-8 453MB/s ± 5% 476MB/s ± 3% +5.09% (p=0.000 n=10+10)
CRC32/poly=Koopman/size=512/align=1-8 455MB/s ± 6% 440MB/s ± 8% ~ (p=0.143 n=10+10)
CRC32/poly=Koopman/size=1kB/align=0-8 452MB/s ± 9% 438MB/s ± 4% ~ (p=0.052 n=10+10)
CRC32/poly=Koopman/size=1kB/align=1-8 477MB/s ± 2% 434MB/s ± 5% -8.92% (p=0.000 n=9+10)
CRC32/poly=Koopman/size=4kB/align=0-8 454MB/s ± 5% 455MB/s ± 6% ~ (p=0.971 n=10+10)
CRC32/poly=Koopman/size=4kB/align=1-8 459MB/s ± 9% 455MB/s ±11% ~ (p=0.739 n=10+10)
CRC32/poly=Koopman/size=32kB/align=0-8 453MB/s ± 8% 450MB/s ± 4% ~ (p=0.684 n=10+10)
CRC32/poly=Koopman/size=32kB/align=1-8 471MB/s ± 3% 441MB/s ± 3% -6.25% (p=0.000 n=8+10)
[Geo mean] 1.71GB/s 2.48GB/s +44.88%
<style>.benchstat tbody td:nth-child(1n+2) { text-align: right; padding: 0em 1em; }</style>
<table class='benchstat'>
<tr><th>name</th><th>old time/op</th><th>new time/op</th><th>delta</th>
<tr><td>CRC32/poly=IEEE/size=15/align=0-8</td><td>46.9ns ± 8%</td><td>44.5ns ± 3%</td><td>-5.01%</td><td>(p=0.008 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=15/align=1-8</td><td>44.7ns ± 5%</td><td>44.5ns ± 4%</td><td>~ </td><td>(p=0.539 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=40/align=0-8</td><td>41.0ns ± 1%</td><td>42.5ns ± 6%</td><td>+3.56%</td><td>(p=0.000 n=8+10)</td>
<tr><td>CRC32/poly=IEEE/size=40/align=1-8</td><td>41.1ns ± 1%</td><td>42.0ns ± 3%</td><td>+2.34%</td><td>(p=0.000 n=9+10)</td>
<tr><td>CRC32/poly=IEEE/size=512/align=0-8</td><td>238ns ± 5%</td><td>57ns ± 3%</td><td>-76.00%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=512/align=1-8</td><td>236ns ± 3%</td><td>57ns ± 3%</td><td>-75.72%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=1kB/align=0-8</td><td>452ns ± 4%</td><td>94ns ± 2%</td><td>-79.20%</td><td>(p=0.000 n=10+8)</td>
<tr><td>CRC32/poly=IEEE/size=1kB/align=1-8</td><td>444ns ± 2%</td><td>93ns ± 2%</td><td>-78.97%</td><td>(p=0.000 n=10+8)</td>
<tr><td>CRC32/poly=IEEE/size=4kB/align=0-8</td><td>1.74µs ± 8%</td><td>0.30µs ± 1%</td><td>-82.87%</td><td>(p=0.000 n=10+9)</td>
<tr><td>CRC32/poly=IEEE/size=4kB/align=1-8</td><td>1.76µs ± 6%</td><td>0.30µs ± 3%</td><td>-83.05%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=32kB/align=0-8</td><td>15.0µs ± 7%</td><td>2.2µs ± 3%</td><td>-85.57%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=32kB/align=1-8</td><td>14.2µs ± 7%</td><td>2.2µs ± 3%</td><td>-84.65%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=15/align=0-8</td><td>16.4ns ± 3%</td><td>16.3ns ± 2%</td><td>~ </td><td>(p=0.615 n=9+9)</td>
<tr><td>CRC32/poly=Castagnoli/size=15/align=1-8</td><td>17.2ns ± 2%</td><td>17.3ns ± 2%</td><td>~ </td><td>(p=0.650 n=9+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=40/align=0-8</td><td>17.4ns ± 2%</td><td>17.5ns ± 4%</td><td>~ </td><td>(p=0.694 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=40/align=1-8</td><td>19.7ns ± 3%</td><td>19.4ns ± 2%</td><td>-1.62%</td><td>(p=0.036 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=512/align=0-8</td><td>40.2ns ± 2%</td><td>40.1ns ± 4%</td><td>~ </td><td>(p=0.614 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=512/align=1-8</td><td>42.1ns ± 3%</td><td>41.9ns ± 2%</td><td>~ </td><td>(p=0.952 n=10+9)</td>
<tr><td>CRC32/poly=Castagnoli/size=1kB/align=0-8</td><td>65.5ns ± 1%</td><td>66.2ns ± 1%</td><td>+1.01%</td><td>(p=0.003 n=9+8)</td>
<tr><td>CRC32/poly=Castagnoli/size=1kB/align=1-8</td><td>70.1ns ± 6%</td><td>68.5ns ± 2%</td><td>~ </td><td>(p=0.190 n=10+9)</td>
<tr><td>CRC32/poly=Castagnoli/size=4kB/align=0-8</td><td>163ns ± 5%</td><td>159ns ± 3%</td><td>-2.46%</td><td>(p=0.032 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=4kB/align=1-8</td><td>169ns ± 6%</td><td>162ns ± 3%</td><td>-4.60%</td><td>(p=0.005 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=32kB/align=0-8</td><td>1.22µs ± 4%</td><td>1.21µs ± 3%</td><td>~ </td><td>(p=0.882 n=9+9)</td>
<tr><td>CRC32/poly=Castagnoli/size=32kB/align=1-8</td><td>1.26µs ± 3%</td><td>1.22µs ± 4%</td><td>-3.48%</td><td>(p=0.002 n=9+10)</td>
<tr><td>CRC32/poly=Koopman/size=15/align=0-8</td><td>36.5ns ±11%</td><td>35.6ns ± 3%</td><td>~ </td><td>(p=0.216 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=15/align=1-8</td><td>35.1ns ± 5%</td><td>35.5ns ± 1%</td><td>~ </td><td>(p=0.508 n=10+9)</td>
<tr><td>CRC32/poly=Koopman/size=40/align=0-8</td><td>91.6ns ± 9%</td><td>87.6ns ± 2%</td><td>-4.35%</td><td>(p=0.002 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=40/align=1-8</td><td>91.1ns ± 6%</td><td>88.0ns ± 3%</td><td>~ </td><td>(p=0.055 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=512/align=0-8</td><td>1.13µs ± 5%</td><td>1.08µs ± 3%</td><td>-4.93%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=512/align=1-8</td><td>1.13µs ± 6%</td><td>1.17µs ± 8%</td><td>~ </td><td>(p=0.143 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=1kB/align=0-8</td><td>2.24µs ± 6%</td><td>2.34µs ± 4%</td><td>+4.34%</td><td>(p=0.010 n=9+10)</td>
<tr><td>CRC32/poly=Koopman/size=1kB/align=1-8</td><td>2.15µs ± 2%</td><td>2.36µs ± 5%</td><td>+9.84%</td><td>(p=0.000 n=9+10)</td>
<tr><td>CRC32/poly=Koopman/size=4kB/align=0-8</td><td>9.03µs ± 6%</td><td>9.00µs ± 6%</td><td>~ </td><td>(p=0.971 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=4kB/align=1-8</td><td>8.94µs ±10%</td><td>9.05µs ±12%</td><td>~ </td><td>(p=0.754 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=32kB/align=0-8</td><td>72.4µs ± 9%</td><td>72.9µs ± 4%</td><td>~ </td><td>(p=0.684 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=32kB/align=1-8</td><td>69.6µs ± 3%</td><td>74.3µs ± 3%</td><td>+6.70%</td><td>(p=0.000 n=8+10)</td>
</table>
<style>.benchstat tbody td:nth-child(1n+2) { text-align: right; padding: 0em 1em; }</style>
<table class='benchstat'>
<tr><th>name</th><th>old speed</th><th>new speed</th><th>delta</th>
<tr><td>CRC32/poly=IEEE/size=15/align=0-8</td><td>321MB/s ± 8%</td><td>337MB/s ± 3%</td><td>+5.06%</td><td>(p=0.009 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=15/align=1-8</td><td>336MB/s ± 4%</td><td>337MB/s ± 4%</td><td>~ </td><td>(p=0.579 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=40/align=0-8</td><td>975MB/s ± 1%</td><td>942MB/s ± 5%</td><td>-3.37%</td><td>(p=0.001 n=8+10)</td>
<tr><td>CRC32/poly=IEEE/size=40/align=1-8</td><td>974MB/s ± 1%</td><td>952MB/s ± 3%</td><td>-2.25%</td><td>(p=0.000 n=9+10)</td>
<tr><td>CRC32/poly=IEEE/size=512/align=0-8</td><td>2.15GB/s ± 4%</td><td>8.97GB/s ± 3%</td><td>+317.65%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=512/align=1-8</td><td>2.17GB/s ± 3%</td><td>8.96GB/s ± 3%</td><td>+312.89%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=1kB/align=0-8</td><td>2.26GB/s ± 4%</td><td>10.88GB/s ± 2%</td><td>+381.12%</td><td>(p=0.000 n=10+8)</td>
<tr><td>CRC32/poly=IEEE/size=1kB/align=1-8</td><td>2.31GB/s ± 2%</td><td>10.98GB/s ± 2%</td><td>+375.97%</td><td>(p=0.000 n=10+8)</td>
<tr><td>CRC32/poly=IEEE/size=4kB/align=0-8</td><td>2.36GB/s ± 7%</td><td>13.73GB/s ± 1%</td><td>+482.26%</td><td>(p=0.000 n=10+9)</td>
<tr><td>CRC32/poly=IEEE/size=4kB/align=1-8</td><td>2.33GB/s ± 6%</td><td>13.68GB/s ± 3%</td><td>+488.23%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=32kB/align=0-8</td><td>2.19GB/s ± 7%</td><td>15.19GB/s ± 3%</td><td>+591.99%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=IEEE/size=32kB/align=1-8</td><td>2.31GB/s ± 8%</td><td>15.04GB/s ± 3%</td><td>+550.07%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=15/align=0-8</td><td>916MB/s ± 2%</td><td>920MB/s ± 2%</td><td>~ </td><td>(p=0.489 n=9+9)</td>
<tr><td>CRC32/poly=Castagnoli/size=15/align=1-8</td><td>870MB/s ± 2%</td><td>867MB/s ± 2%</td><td>~ </td><td>(p=0.661 n=9+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=40/align=0-8</td><td>2.30GB/s ± 2%</td><td>2.28GB/s ± 4%</td><td>~ </td><td>(p=0.684 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=40/align=1-8</td><td>2.03GB/s ± 3%</td><td>2.06GB/s ± 2%</td><td>~ </td><td>(p=0.063 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=512/align=0-8</td><td>12.7GB/s ± 2%</td><td>12.8GB/s ± 4%</td><td>~ </td><td>(p=0.529 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=512/align=1-8</td><td>12.1GB/s ± 3%</td><td>12.2GB/s ± 1%</td><td>~ </td><td>(p=0.780 n=10+9)</td>
<tr><td>CRC32/poly=Castagnoli/size=1kB/align=0-8</td><td>15.6GB/s ± 1%</td><td>15.5GB/s ± 1%</td><td>-1.02%</td><td>(p=0.002 n=9+8)</td>
<tr><td>CRC32/poly=Castagnoli/size=1kB/align=1-8</td><td>14.6GB/s ± 6%</td><td>15.0GB/s ± 2%</td><td>~ </td><td>(p=0.211 n=10+9)</td>
<tr><td>CRC32/poly=Castagnoli/size=4kB/align=0-8</td><td>25.1GB/s ± 5%</td><td>25.7GB/s ± 3%</td><td>~ </td><td>(p=0.052 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=4kB/align=1-8</td><td>24.1GB/s ± 6%</td><td>25.3GB/s ± 3%</td><td>+4.71%</td><td>(p=0.005 n=10+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=32kB/align=0-8</td><td>26.9GB/s ± 4%</td><td>26.8GB/s ± 5%</td><td>~ </td><td>(p=0.842 n=9+10)</td>
<tr><td>CRC32/poly=Castagnoli/size=32kB/align=1-8</td><td>25.9GB/s ± 3%</td><td>26.8GB/s ± 4%</td><td>+3.62%</td><td>(p=0.002 n=9+10)</td>
<tr><td>CRC32/poly=Koopman/size=15/align=0-8</td><td>412MB/s ±10%</td><td>421MB/s ± 3%</td><td>~ </td><td>(p=0.218 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=15/align=1-8</td><td>427MB/s ± 5%</td><td>422MB/s ± 1%</td><td>~ </td><td>(p=0.497 n=10+9)</td>
<tr><td>CRC32/poly=Koopman/size=40/align=0-8</td><td>437MB/s ± 9%</td><td>456MB/s ± 2%</td><td>+4.50%</td><td>(p=0.002 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=40/align=1-8</td><td>440MB/s ± 6%</td><td>455MB/s ± 3%</td><td>~ </td><td>(p=0.052 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=512/align=0-8</td><td>453MB/s ± 5%</td><td>476MB/s ± 3%</td><td>+5.09%</td><td>(p=0.000 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=512/align=1-8</td><td>455MB/s ± 6%</td><td>440MB/s ± 8%</td><td>~ </td><td>(p=0.143 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=1kB/align=0-8</td><td>452MB/s ± 9%</td><td>438MB/s ± 4%</td><td>~ </td><td>(p=0.052 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=1kB/align=1-8</td><td>477MB/s ± 2%</td><td>434MB/s ± 5%</td><td>-8.92%</td><td>(p=0.000 n=9+10)</td>
<tr><td>CRC32/poly=Koopman/size=4kB/align=0-8</td><td>454MB/s ± 5%</td><td>455MB/s ± 6%</td><td>~ </td><td>(p=0.971 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=4kB/align=1-8</td><td>459MB/s ± 9%</td><td>455MB/s ±11%</td><td>~ </td><td>(p=0.739 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=32kB/align=0-8</td><td>453MB/s ± 8%</td><td>450MB/s ± 4%</td><td>~ </td><td>(p=0.684 n=10+10)</td>
<tr><td>CRC32/poly=Koopman/size=32kB/align=1-8</td><td>471MB/s ± 3%</td><td>441MB/s ± 3%</td><td>-6.25%</td><td>(p=0.000 n=8+10)</td>
</table>
name old time/op new time/op delta
CRC32/poly=IEEE/size=15/align=0-8 46.9ns ± 8% 44.5ns ± 3% -5.01% (p=0.011 n=10+10)
CRC32/poly=IEEE/size=15/align=1-8 44.7ns ± 5% 44.5ns ± 4% ~ (p=0.600 n=10+10)
CRC32/poly=IEEE/size=40/align=0-8 41.0ns ± 1% 42.5ns ± 6% +3.56% (p=0.006 n=8+10)
CRC32/poly=IEEE/size=40/align=1-8 41.1ns ± 1% 42.0ns ± 3% +2.34% (p=0.001 n=9+10)
CRC32/poly=IEEE/size=512/align=0-8 238ns ± 5% 57ns ± 3% -76.00% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=512/align=1-8 236ns ± 3% 57ns ± 3% -75.72% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=1kB/align=0-8 452ns ± 4% 94ns ± 2% -79.20% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=1kB/align=1-8 444ns ± 2% 93ns ± 2% -78.97% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=4kB/align=0-8 1.74µs ± 8% 0.30µs ± 1% -82.87% (p=0.000 n=10+9)
CRC32/poly=IEEE/size=4kB/align=1-8 1.76µs ± 6% 0.30µs ± 3% -83.05% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=0-8 15.0µs ± 7% 2.2µs ± 3% -85.57% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=1-8 14.2µs ± 7% 2.2µs ± 3% -84.65% (p=0.000 n=10+10)
CRC32/poly=Castagnoli/size=15/align=0-8 16.4ns ± 3% 16.3ns ± 2% ~ (p=0.511 n=9+9)
CRC32/poly=Castagnoli/size=15/align=1-8 17.2ns ± 2% 17.3ns ± 2% ~ (p=0.553 n=9+10)
CRC32/poly=Castagnoli/size=40/align=0-8 17.4ns ± 2% 17.5ns ± 4% ~ (p=0.472 n=10+10)
CRC32/poly=Castagnoli/size=40/align=1-8 19.7ns ± 3% 19.4ns ± 2% -1.62% (p=0.033 n=10+10)
CRC32/poly=Castagnoli/size=512/align=0-8 40.2ns ± 2% 40.1ns ± 4% ~ (p=0.885 n=10+10)
CRC32/poly=Castagnoli/size=512/align=1-8 42.1ns ± 3% 41.9ns ± 2% ~ (p=0.430 n=10+9)
CRC32/poly=Castagnoli/size=1kB/align=0-8 65.5ns ± 1% 66.2ns ± 1% +1.01% (p=0.001 n=9+8)
CRC32/poly=Castagnoli/size=1kB/align=1-8 70.1ns ± 6% 68.5ns ± 2% ~ (p=0.069 n=10+9)
CRC32/poly=Castagnoli/size=4kB/align=0-8 163ns ± 5% 159ns ± 3% -2.46% (p=0.029 n=10+10)
CRC32/poly=Castagnoli/size=4kB/align=1-8 169ns ± 6% 162ns ± 3% -4.60% (p=0.002 n=10+10)
CRC32/poly=Castagnoli/size=32kB/align=0-8 1.22µs ± 4% 1.21µs ± 3% ~ (p=0.735 n=9+9)
CRC32/poly=Castagnoli/size=32kB/align=1-8 1.26µs ± 3% 1.22µs ± 4% -3.48% (p=0.001 n=9+10)
CRC32/poly=Koopman/size=15/align=0-8 36.5ns ±11% 35.6ns ± 3% ~ (p=0.183 n=10+10)
CRC32/poly=Koopman/size=15/align=1-8 35.1ns ± 5% 35.5ns ± 1% ~ (p=0.374 n=10+9)
CRC32/poly=Koopman/size=40/align=0-8 91.6ns ± 9% 87.6ns ± 2% -4.35% (p=0.009 n=10+10)
CRC32/poly=Koopman/size=40/align=1-8 91.1ns ± 6% 88.0ns ± 3% -3.35% (p=0.022 n=10+10)
CRC32/poly=Koopman/size=512/align=0-8 1.13µs ± 5% 1.08µs ± 3% -4.93% (p=0.001 n=10+10)
CRC32/poly=Koopman/size=512/align=1-8 1.13µs ± 6% 1.17µs ± 8% ~ (p=0.086 n=10+10)
CRC32/poly=Koopman/size=1kB/align=0-8 2.24µs ± 6% 2.34µs ± 4% +4.34% (p=0.008 n=9+10)
CRC32/poly=Koopman/size=1kB/align=1-8 2.15µs ± 2% 2.36µs ± 5% +9.84% (p=0.000 n=9+10)
CRC32/poly=Koopman/size=4kB/align=0-8 9.03µs ± 6% 9.00µs ± 6% ~ (p=0.849 n=10+10)
CRC32/poly=Koopman/size=4kB/align=1-8 8.94µs ±10% 9.05µs ±12% ~ (p=0.678 n=10+10)
CRC32/poly=Koopman/size=32kB/align=0-8 72.4µs ± 9% 72.9µs ± 4% ~ (p=0.730 n=10+10)
CRC32/poly=Koopman/size=32kB/align=1-8 69.6µs ± 3% 74.3µs ± 3% +6.70% (p=0.000 n=8+10)
name old speed new speed delta
CRC32/poly=IEEE/size=15/align=0-8 321MB/s ± 8% 337MB/s ± 3% +5.06% (p=0.010 n=10+10)
CRC32/poly=IEEE/size=15/align=1-8 336MB/s ± 4% 337MB/s ± 4% ~ (p=0.600 n=10+10)
CRC32/poly=IEEE/size=40/align=0-8 975MB/s ± 1% 942MB/s ± 5% -3.37% (p=0.005 n=8+10)
CRC32/poly=IEEE/size=40/align=1-8 974MB/s ± 1% 952MB/s ± 3% -2.25% (p=0.001 n=9+10)
CRC32/poly=IEEE/size=512/align=0-8 2.15GB/s ± 4% 8.97GB/s ± 3% +317.65% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=512/align=1-8 2.17GB/s ± 3% 8.96GB/s ± 3% +312.89% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=1kB/align=0-8 2.26GB/s ± 4% 10.88GB/s ± 2% +381.12% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=1kB/align=1-8 2.31GB/s ± 2% 10.98GB/s ± 2% +375.97% (p=0.000 n=10+8)
CRC32/poly=IEEE/size=4kB/align=0-8 2.36GB/s ± 7% 13.73GB/s ± 1% +482.26% (p=0.000 n=10+9)
CRC32/poly=IEEE/size=4kB/align=1-8 2.33GB/s ± 6% 13.68GB/s ± 3% +488.23% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=0-8 2.19GB/s ± 7% 15.19GB/s ± 3% +591.99% (p=0.000 n=10+10)
CRC32/poly=IEEE/size=32kB/align=1-8 2.31GB/s ± 8% 15.04GB/s ± 3% +550.07% (p=0.000 n=10+10)
CRC32/poly=Castagnoli/size=15/align=0-8 916MB/s ± 2% 920MB/s ± 2% ~ (p=0.469 n=9+9)
CRC32/poly=Castagnoli/size=15/align=1-8 870MB/s ± 2% 867MB/s ± 2% ~ (p=0.599 n=9+10)
CRC32/poly=Castagnoli/size=40/align=0-8 2.30GB/s ± 2% 2.28GB/s ± 4% ~ (p=0.469 n=10+10)
CRC32/poly=Castagnoli/size=40/align=1-8 2.03GB/s ± 3% 2.06GB/s ± 2% +1.64% (p=0.035 n=10+10)
CRC32/poly=Castagnoli/size=512/align=0-8 12.7GB/s ± 2% 12.8GB/s ± 4% ~ (p=0.872 n=10+10)
CRC32/poly=Castagnoli/size=512/align=1-8 12.1GB/s ± 3% 12.2GB/s ± 1% ~ (p=0.391 n=10+9)
CRC32/poly=Castagnoli/size=1kB/align=0-8 15.6GB/s ± 1% 15.5GB/s ± 1% -1.02% (p=0.001 n=9+8)
CRC32/poly=Castagnoli/size=1kB/align=1-8 14.6GB/s ± 6% 15.0GB/s ± 2% ~ (p=0.071 n=10+9)
CRC32/poly=Castagnoli/size=4kB/align=0-8 25.1GB/s ± 5% 25.7GB/s ± 3% +2.41% (p=0.033 n=10+10)
CRC32/poly=Castagnoli/size=4kB/align=1-8 24.1GB/s ± 6% 25.3GB/s ± 3% +4.71% (p=0.002 n=10+10)
CRC32/poly=Castagnoli/size=32kB/align=0-8 26.9GB/s ± 4% 26.8GB/s ± 5% ~ (p=0.797 n=9+10)
CRC32/poly=Castagnoli/size=32kB/align=1-8 25.9GB/s ± 3% 26.8GB/s ± 4% +3.62% (p=0.001 n=9+10)
CRC32/poly=Koopman/size=15/align=0-8 412MB/s ±10% 421MB/s ± 3% ~ (p=0.203 n=10+10)
CRC32/poly=Koopman/size=15/align=1-8 427MB/s ± 5% 422MB/s ± 1% ~ (p=0.306 n=10+9)
CRC32/poly=Koopman/size=40/align=0-8 437MB/s ± 9% 456MB/s ± 2% +4.50% (p=0.008 n=10+10)
CRC32/poly=Koopman/size=40/align=1-8 440MB/s ± 6% 455MB/s ± 3% +3.36% (p=0.024 n=10+10)
CRC32/poly=Koopman/size=512/align=0-8 453MB/s ± 5% 476MB/s ± 3% +5.09% (p=0.001 n=10+10)
CRC32/poly=Koopman/size=512/align=1-8 455MB/s ± 6% 440MB/s ± 8% ~ (p=0.096 n=10+10)
CRC32/poly=Koopman/size=1kB/align=0-8 452MB/s ± 9% 438MB/s ± 4% ~ (p=0.065 n=10+10)
CRC32/poly=Koopman/size=1kB/align=1-8 477MB/s ± 2% 434MB/s ± 5% -8.92% (p=0.000 n=9+10)
CRC32/poly=Koopman/size=4kB/align=0-8 454MB/s ± 5% 455MB/s ± 6% ~ (p=0.844 n=10+10)
CRC32/poly=Koopman/size=4kB/align=1-8 459MB/s ± 9% 455MB/s ±11% ~ (p=0.708 n=10+10)
CRC32/poly=Koopman/size=32kB/align=0-8 453MB/s ± 8% 450MB/s ± 4% ~ (p=0.669 n=10+10)
CRC32/poly=Koopman/size=32kB/align=1-8 471MB/s ± 3% 441MB/s ± 3% -6.25% (p=0.000 n=8+10)
pkg: hash/crc32
goarch: amd64
goos: darwin
note: hw acceleration disabled, -bench=//4
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 40.9 ns/op 978.88 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.8 ns/op 933.98 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 40.9 ns/op 978.23 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.4 ns/op 942.76 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.4 ns/op 967.26 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 41.6 ns/op 962.08 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.6 ns/op 939.29 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 43.5 ns/op 918.83 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.0 ns/op 951.27 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 42.7 ns/op 937.30 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.1 ns/op 973.19 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 43.6 ns/op 918.29 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 42.8 ns/op 934.58 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.0 ns/op 975.00 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.2 ns/op 970.18 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 40.8 ns/op 980.81 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 42.4 ns/op 942.44 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.4 ns/op 966.71 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 40.7 ns/op 982.65 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 41.8 ns/op 955.93 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1807 ns/op 2266.51 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1668 ns/op 2454.61 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1718 ns/op 2383.22 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1675 ns/op 2445.28 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1682 ns/op 2434.60 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1673 ns/op 2448.24 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1672 ns/op 2449.03 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1693 ns/op 2419.16 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1658 ns/op 2469.45 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 1699 ns/op 2410.39 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1699 ns/op 2409.64 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1677 ns/op 2441.13 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1671 ns/op 2450.93 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1666 ns/op 2457.51 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1757 ns/op 2330.39 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1666 ns/op 2457.84 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1716 ns/op 2386.93 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1662 ns/op 2464.20 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1703 ns/op 2404.35 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 100000 1681 ns/op 2436.35 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.1 ns/op 2334.91 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.5 ns/op 2288.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.8 ns/op 2244.89 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 17.3 ns/op 2311.76 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 18.0 ns/op 2224.01 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 20.7 ns/op 1933.54 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 19.3 ns/op 2073.61 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 19.3 ns/op 2067.47 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 19.9 ns/op 2011.31 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 10000000 18.9 ns/op 2117.00 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.9 ns/op 2005.75 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.5 ns/op 2049.41 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.2 ns/op 2081.60 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 20.0 ns/op 1996.42 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.4 ns/op 2066.66 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.8 ns/op 2025.21 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.8 ns/op 2015.13 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 21.2 ns/op 1888.37 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 19.5 ns/op 2046.76 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 10000000 22.3 ns/op 1796.24 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 174 ns/op 23478.39 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 158 ns/op 25880.52 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 164 ns/op 24857.78 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 156 ns/op 26150.67 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 156 ns/op 26185.14 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 161 ns/op 25366.49 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 164 ns/op 24930.88 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 156 ns/op 26209.59 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 161 ns/op 25376.24 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 1000000 162 ns/op 25281.02 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 168 ns/op 24280.72 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 166 ns/op 24653.32 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 163 ns/op 24991.81 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 158 ns/op 25826.99 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 162 ns/op 25188.41 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 164 ns/op 24970.03 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 179 ns/op 22771.21 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 176 ns/op 23182.06 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 184 ns/op 22193.41 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 1000000 176 ns/op 23191.10 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 106 ns/op 376.78 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 102 ns/op 391.07 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 99.7 ns/op 401.12 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 95.6 ns/op 418.47 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 93.3 ns/op 428.76 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 90.5 ns/op 441.87 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 92.1 ns/op 434.22 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 85.6 ns/op 467.07 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 87.6 ns/op 456.72 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 2000000 85.7 ns/op 466.53 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 85.6 ns/op 467.12 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 86.1 ns/op 464.59 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 85.5 ns/op 467.95 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 86.5 ns/op 462.44 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 89.8 ns/op 445.20 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 86.4 ns/op 463.14 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 85.8 ns/op 466.27 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 87.7 ns/op 456.34 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 88.0 ns/op 454.78 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 2000000 87.2 ns/op 458.77 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8373 ns/op 489.18 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8397 ns/op 487.76 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9496 ns/op 431.31 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9426 ns/op 434.52 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9035 ns/op 453.33 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9295 ns/op 440.65 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9220 ns/op 444.22 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9539 ns/op 429.37 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 8401 ns/op 487.53 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 20000 9634 ns/op 425.14 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9591 ns/op 427.02 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9878 ns/op 414.64 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9630 ns/op 425.32 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9284 ns/op 441.18 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8676 ns/op 472.10 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 8844 ns/op 463.13 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9621 ns/op 425.72 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9364 ns/op 437.38 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9993 ns/op 409.85 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 20000 9671 ns/op 423.50 MB/s
PASS
ok hash/crc32 25.585s
pkg: hash/crc32
goarch: 386
goos: darwin
note: 32-bit build
warning: <blink>hello</blink>
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 60.1 ns/op 249.74 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 59.4 ns/op 252.44 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 62.3 ns/op 240.78 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 59.4 ns/op 252.36 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 61.5 ns/op 243.82 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 67.8 ns/op 221.14 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 60.1 ns/op 249.62 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 65.6 ns/op 228.65 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 67.9 ns/op 220.84 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=0-8 2000000 59.4 ns/op 252.41 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 61.3 ns/op 244.70 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 63.9 ns/op 234.92 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 60.9 ns/op 246.27 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 62.9 ns/op 238.32 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 63.4 ns/op 236.54 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 68.7 ns/op 218.33 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 68.1 ns/op 220.24 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 64.6 ns/op 232.32 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 59.2 ns/op 253.35 MB/s
BenchmarkCRC32/poly=IEEE/size=15/align=1-8 2000000 61.9 ns/op 242.29 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 2000000 57.3 ns/op 698.52 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 58.2 ns/op 686.77 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 2000000 57.1 ns/op 700.17 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 2000000 58.5 ns/op 684.03 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 2000000 56.4 ns/op 708.98 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 2000000 56.8 ns/op 704.40 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 57.8 ns/op 692.04 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 56.6 ns/op 707.22 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 2000000 59.0 ns/op 677.49 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=0-8 3000000 56.7 ns/op 705.31 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 2000000 57.3 ns/op 697.95 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 2000000 58.1 ns/op 688.08 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 56.4 ns/op 709.49 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 2000000 56.4 ns/op 709.47 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 2000000 56.3 ns/op 710.10 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 56.3 ns/op 710.14 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 57.2 ns/op 698.71 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 58.6 ns/op 682.05 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 59.0 ns/op 678.11 MB/s
BenchmarkCRC32/poly=IEEE/size=40/align=1-8 3000000 57.7 ns/op 693.31 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 331 ns/op 1544.96 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 330 ns/op 1549.93 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 349 ns/op 1465.25 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 330 ns/op 1548.50 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 339 ns/op 1506.14 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 330 ns/op 1547.00 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 330 ns/op 1549.89 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 333 ns/op 1536.18 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 333 ns/op 1534.03 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=0-8 500000 335 ns/op 1524.75 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 300000 334 ns/op 1529.22 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 329 ns/op 1553.02 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 339 ns/op 1510.19 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 300000 345 ns/op 1481.90 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 329 ns/op 1551.53 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 337 ns/op 1515.82 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 337 ns/op 1516.02 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 332 ns/op 1538.66 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 328 ns/op 1556.83 MB/s
BenchmarkCRC32/poly=IEEE/size=512/align=1-8 500000 343 ns/op 1490.30 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 632 ns/op 1618.84 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 622 ns/op 1643.79 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 616 ns/op 1660.67 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 622 ns/op 1643.99 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 639 ns/op 1602.15 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 620 ns/op 1649.79 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 624 ns/op 1638.85 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 641 ns/op 1595.55 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 622 ns/op 1645.73 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=0-8 200000 625 ns/op 1636.01 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 676 ns/op 1513.45 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 647 ns/op 1582.09 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 620 ns/op 1650.24 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 642 ns/op 1594.15 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 617 ns/op 1658.81 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 638 ns/op 1604.66 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 618 ns/op 1655.06 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 620 ns/op 1649.88 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 624 ns/op 1638.49 MB/s
BenchmarkCRC32/poly=IEEE/size=1kB/align=1-8 200000 651 ns/op 1572.31 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2525 ns/op 1621.93 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2379 ns/op 1721.02 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 100000 2431 ns/op 1684.62 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2481 ns/op 1650.59 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2625 ns/op 1559.90 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2372 ns/op 1726.40 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2407 ns/op 1701.24 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2440 ns/op 1678.55 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2395 ns/op 1709.73 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=0-8 50000 2512 ns/op 1630.23 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2493 ns/op 1642.53 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2548 ns/op 1607.41 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2416 ns/op 1695.07 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2483 ns/op 1649.51 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2378 ns/op 1722.37 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2373 ns/op 1725.47 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2541 ns/op 1611.87 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2412 ns/op 1697.97 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2360 ns/op 1735.58 MB/s
BenchmarkCRC32/poly=IEEE/size=4kB/align=1-8 50000 2341 ns/op 1749.19 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 19117 ns/op 1714.05 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 19504 ns/op 1680.05 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 18836 ns/op 1739.64 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 19885 ns/op 1647.81 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 18815 ns/op 1741.56 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 19054 ns/op 1719.73 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 18893 ns/op 1734.36 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 18778 ns/op 1744.95 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 18894 ns/op 1734.30 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=0-8 10000 19723 ns/op 1661.41 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 19206 ns/op 1706.06 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 18774 ns/op 1745.37 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 19806 ns/op 1654.37 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 19032 ns/op 1721.68 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 19774 ns/op 1657.05 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 19158 ns/op 1710.37 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 19134 ns/op 1712.51 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 19073 ns/op 1718.01 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 20436 ns/op 1603.44 MB/s
BenchmarkCRC32/poly=IEEE/size=32kB/align=1-8 10000 19810 ns/op 1654.05 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 2000000 66.3 ns/op 226.30 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 2000000 63.8 ns/op 235.29 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 2000000 59.3 ns/op 252.90 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 3000000 59.7 ns/op 251.43 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 2000000 59.9 ns/op 250.28 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 2000000 59.4 ns/op 252.63 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 2000000 58.7 ns/op 255.66 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 3000000 60.1 ns/op 249.64 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 2000000 59.1 ns/op 253.84 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=0-8 2000000 58.7 ns/op 255.71 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 59.1 ns/op 253.95 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 58.7 ns/op 255.66 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 60.4 ns/op 248.51 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 58.8 ns/op 255.07 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 60.6 ns/op 247.35 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 59.3 ns/op 252.88 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 3000000 58.6 ns/op 255.98 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 59.0 ns/op 254.28 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 59.1 ns/op 253.72 MB/s
BenchmarkCRC32/poly=Castagnoli/size=15/align=1-8 2000000 59.9 ns/op 250.50 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 3000000 56.3 ns/op 710.32 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 2000000 56.1 ns/op 713.21 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 2000000 59.8 ns/op 668.58 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 2000000 61.6 ns/op 649.17 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 3000000 59.0 ns/op 678.05 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 2000000 60.9 ns/op 656.29 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 3000000 60.6 ns/op 660.54 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 3000000 60.2 ns/op 664.38 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 2000000 63.3 ns/op 631.62 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=0-8 2000000 58.8 ns/op 680.65 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 3000000 56.2 ns/op 711.22 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 3000000 56.1 ns/op 713.52 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 2000000 58.2 ns/op 687.04 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 2000000 56.4 ns/op 709.57 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 3000000 58.2 ns/op 687.58 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 2000000 56.2 ns/op 711.91 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 2000000 58.6 ns/op 682.30 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 2000000 62.0 ns/op 644.93 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 2000000 61.0 ns/op 655.94 MB/s
BenchmarkCRC32/poly=Castagnoli/size=40/align=1-8 3000000 58.2 ns/op 686.72 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 337 ns/op 1517.89 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 342 ns/op 1493.38 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 350 ns/op 1459.81 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 370 ns/op 1382.99 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 351 ns/op 1456.12 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 357 ns/op 1433.94 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 356 ns/op 1435.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 356 ns/op 1436.96 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 349 ns/op 1466.27 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=0-8 500000 340 ns/op 1501.51 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 500000 360 ns/op 1420.79 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 300000 358 ns/op 1427.91 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 300000 344 ns/op 1487.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 500000 352 ns/op 1453.44 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 500000 358 ns/op 1426.66 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 500000 347 ns/op 1474.05 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 500000 335 ns/op 1526.35 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 500000 376 ns/op 1359.30 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 500000 337 ns/op 1515.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=512/align=1-8 500000 331 ns/op 1543.32 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 641 ns/op 1596.29 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 629 ns/op 1627.68 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 632 ns/op 1618.10 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 677 ns/op 1512.13 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 677 ns/op 1511.58 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 666 ns/op 1536.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 654 ns/op 1563.44 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 663 ns/op 1544.36 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 663 ns/op 1543.43 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=0-8 200000 665 ns/op 1538.35 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 671 ns/op 1524.71 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 652 ns/op 1569.20 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 645 ns/op 1587.35 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 663 ns/op 1543.45 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 694 ns/op 1474.32 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 674 ns/op 1518.51 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 638 ns/op 1603.43 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 657 ns/op 1557.80 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 636 ns/op 1609.05 MB/s
BenchmarkCRC32/poly=Castagnoli/size=1kB/align=1-8 200000 638 ns/op 1604.77 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2358 ns/op 1736.69 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2544 ns/op 1609.49 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2462 ns/op 1663.08 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2493 ns/op 1642.57 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2459 ns/op 1665.28 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2470 ns/op 1657.64 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2476 ns/op 1653.64 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2441 ns/op 1677.33 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2394 ns/op 1710.31 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=0-8 50000 2421 ns/op 1691.81 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 50000 2429 ns/op 1686.23 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 100000 2555 ns/op 1603.04 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 50000 2386 ns/op 1716.33 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 50000 2392 ns/op 1712.18 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 50000 2433 ns/op 1682.90 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 100000 2430 ns/op 1685.17 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 50000 2396 ns/op 1709.43 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 50000 2476 ns/op 1654.23 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 50000 2571 ns/op 1592.69 MB/s
BenchmarkCRC32/poly=Castagnoli/size=4kB/align=1-8 50000 2412 ns/op 1697.74 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 20585 ns/op 1591.77 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 19541 ns/op 1676.84 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 20578 ns/op 1592.34 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 20335 ns/op 1611.39 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 5000 21641 ns/op 1514.14 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 19939 ns/op 1643.39 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 21381 ns/op 1532.56 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 20214 ns/op 1620.99 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 21208 ns/op 1545.07 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=0-8 10000 19839 ns/op 1651.64 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 5000 23566 ns/op 1390.45 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 20604 ns/op 1590.36 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 19488 ns/op 1681.44 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 22008 ns/op 1488.87 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 19449 ns/op 1684.79 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 19511 ns/op 1679.42 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 19695 ns/op 1663.73 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 20185 ns/op 1623.36 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 20397 ns/op 1606.43 MB/s
BenchmarkCRC32/poly=Castagnoli/size=32kB/align=1-8 10000 20278 ns/op 1615.93 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 2000000 55.6 ns/op 270.00 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 3000000 58.3 ns/op 257.08 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 3000000 60.0 ns/op 249.97 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 2000000 58.5 ns/op 256.45 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 2000000 58.3 ns/op 257.51 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 3000000 60.2 ns/op 249.29 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 3000000 60.1 ns/op 249.55 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 2000000 57.5 ns/op 261.00 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 3000000 57.0 ns/op 263.05 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=0-8 3000000 56.6 ns/op 265.03 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 3000000 60.1 ns/op 249.65 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 3000000 55.1 ns/op 272.35 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 3000000 54.2 ns/op 276.58 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 3000000 53.8 ns/op 279.07 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 3000000 57.0 ns/op 262.94 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 2000000 56.7 ns/op 264.60 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 3000000 57.4 ns/op 261.35 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 2000000 55.6 ns/op 269.72 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 3000000 59.2 ns/op 253.37 MB/s
BenchmarkCRC32/poly=Koopman/size=15/align=1-8 2000000 54.9 ns/op 273.38 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 139 ns/op 287.45 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 140 ns/op 284.31 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 141 ns/op 283.36 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 138 ns/op 288.46 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 145 ns/op 274.08 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 137 ns/op 291.46 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 153 ns/op 260.57 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 144 ns/op 277.25 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 148 ns/op 269.74 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=0-8 1000000 138 ns/op 288.53 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 136 ns/op 292.32 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 150 ns/op 265.66 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 143 ns/op 279.14 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 139 ns/op 286.27 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 138 ns/op 289.48 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 137 ns/op 290.27 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 137 ns/op 289.91 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 132 ns/op 302.04 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 133 ns/op 300.41 MB/s
BenchmarkCRC32/poly=Koopman/size=40/align=1-8 1000000 131 ns/op 303.16 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1724 ns/op 296.97 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1663 ns/op 307.73 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1687 ns/op 303.37 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1688 ns/op 303.28 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1599 ns/op 320.03 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1698 ns/op 301.42 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1669 ns/op 306.67 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1621 ns/op 315.81 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1721 ns/op 297.46 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=0-8 100000 1774 ns/op 288.53 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1665 ns/op 307.36 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1702 ns/op 300.76 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1622 ns/op 315.59 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1606 ns/op 318.71 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1642 ns/op 311.64 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1663 ns/op 307.75 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1618 ns/op 316.26 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1629 ns/op 314.15 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1636 ns/op 312.89 MB/s
BenchmarkCRC32/poly=Koopman/size=512/align=1-8 100000 1646 ns/op 310.98 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3428 ns/op 298.67 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3209 ns/op 319.02 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3232 ns/op 316.77 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3283 ns/op 311.83 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3316 ns/op 308.75 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3235 ns/op 316.49 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3324 ns/op 308.05 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3220 ns/op 317.94 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3386 ns/op 302.41 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=0-8 50000 3456 ns/op 296.28 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3300 ns/op 310.29 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3375 ns/op 303.35 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3326 ns/op 307.87 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3198 ns/op 320.19 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3278 ns/op 312.29 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3289 ns/op 311.27 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3206 ns/op 319.39 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3230 ns/op 317.02 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3279 ns/op 312.27 MB/s
BenchmarkCRC32/poly=Koopman/size=1kB/align=1-8 50000 3311 ns/op 309.24 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13182 ns/op 310.72 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13639 ns/op 300.30 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13560 ns/op 302.06 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13710 ns/op 298.74 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13051 ns/op 313.83 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13290 ns/op 308.19 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13463 ns/op 304.23 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13403 ns/op 305.60 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 12934 ns/op 316.68 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=0-8 10000 13011 ns/op 314.81 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 14397 ns/op 284.49 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 13142 ns/op 311.65 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 12905 ns/op 317.39 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 13503 ns/op 303.34 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 13370 ns/op 306.34 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 13181 ns/op 310.73 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 13252 ns/op 309.08 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 13340 ns/op 307.03 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 12869 ns/op 318.28 MB/s
BenchmarkCRC32/poly=Koopman/size=4kB/align=1-8 10000 12889 ns/op 317.79 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 106037 ns/op 309.02 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 102938 ns/op 318.33 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 1000 103083 ns/op 317.88 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 103243 ns/op 317.39 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 107923 ns/op 303.62 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 108832 ns/op 301.09 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 106804 ns/op 306.80 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 1000 113306 ns/op 289.20 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 107050 ns/op 306.10 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=0-8 2000 109691 ns/op 298.73 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 107190 ns/op 305.70 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 104206 ns/op 314.45 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 110537 ns/op 296.44 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 107769 ns/op 304.06 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 1000 104639 ns/op 313.15 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 109221 ns/op 300.02 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 102506 ns/op 319.67 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 104850 ns/op 312.52 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 104962 ns/op 312.19 MB/s
BenchmarkCRC32/poly=Koopman/size=32kB/align=1-8 2000 104807 ns/op 312.65 MB/s
PASS
ok hash/crc32 64.158s
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment