It is adapted from Jean-Loup Gailly's and Mark Adler's original implementation in zlib. A copy of the zlib copyright and license can be found in LICENSE-ZLIB.
BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18363
Intel Core i7-8700 CPU 3.20GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.1.201
[Host] : .NET Core 3.1.3 (CoreCLR 4.700.20.11803, CoreFX 4.700.20.12001), X64 RyuJIT
DefaultJob : .NET Core 3.1.3 (CoreCLR 4.700.20.11803, CoreFX 4.700.20.12001), X64 RyuJIT
Method |
TestArrayLength |
Mean |
Error |
StdDev |
Ratio |
Adler32Simple |
1048576 |
3,565.44 us |
19.201 us |
17.961 us |
1.00 |
Adler32Optimized |
1048576 |
539.25 us |
5.096 us |
4.767 us |
0.15 |
Adler32Sse |
1048576 |
48.05 us |
0.217 us |
0.181 us |
0.01 |
|
|
|
|
|
|
Adler32Simple |
268435456 |
918,145.36 us |
8,338.326 us |
7,799.675 us |
1.00 |
Adler32Optimized |
268435456 |
137,536.77 us |
872.057 us |
815.722 us |
0.15 |
Adler32Sse |
268435456 |
18,843.57 us |
161.503 us |
143.168 us |
0.02 |
|
|
|
|
|
|
Adler32Simple |
1073741824 |
3,655,335.97 us |
26,997.570 us |
25,253.544 us |
1.00 |
Adler32Optimized |
1073741824 |
553,457.84 us |
2,208.464 us |
1,957.746 us |
0.15 |
Adler32Sse |
1073741824 |
75,345.60 us |
705.915 us |
625.776 us |
0.02 |
Method |
TestArrayLength |
Mean |
Error |
StdDev |
Ratio |
Adler64Simple |
1048576 |
3,278.89 us |
11.125 us |
10.406 us |
1.00 |
Adler64Optimized |
1048576 |
537.42 us |
7.890 us |
6.160 us |
0.16 |
Adler64Sse |
1048576 |
62.79 us |
0.287 us |
0.254 us |
0.02 |
|
|
|
|
|
|
Adler64Simple |
268435456 |
840,513.09 us |
5,000.305 us |
4,432.640 us |
1.00 |
Adler64Optimized |
268435456 |
136,463.75 us |
516.511 us |
431.310 us |
0.16 |
Adler64Sse |
268435456 |
21,027.56 us |
208.845 us |
195.354 us |
0.02 |
|
|
|
|
|
|
Adler64Simple |
1073741824 |
3,407,771.96 us |
41,674.338 us |
36,943.215 us |
1.00 |
Adler64Optimized |
1073741824 |
553,194.05 us |
6,017.076 us |
5,628.376 us |
0.16 |
Adler64Sse |
1073741824 |
84,412.36 us |
652.594 us |
544.946 us |
0.02 |