@@ -221,6 +221,97 @@ Job=ShortRun IterationCount=3 LaunchCount=1 WarmupCount=3
221221| Blake2Fast | 10000000 | 9,296,369.53 ns | 292,683.481 ns | 16,042.969 ns | 12.02 | 0.06 | 5,829 B | - | 88 B | NA |
222222| SHA256 | 10000000 | 3,640,666.41 ns | 484,814.553 ns | 26,574.322 ns | 4.71 | 0.04 | 342 B | - | - | NA |
223223
224+
225+ ```
226+ BenchmarkDotNet v0.15.8, macOS Tahoe 26.5.1 (25F80) [Darwin 25.5.0]
227+ Apple M4 Pro, 1 CPU, 14 logical and 14 physical cores
228+ .NET SDK 10.0.201
229+ [Host] : .NET 10.0.5 (10.0.5, 10.0.526.15411), Arm64 RyuJIT armv8.0-a
230+ ShortRun : .NET 10.0.5 (10.0.5, 10.0.526.15411), Arm64 RyuJIT armv8.0-a
231+
232+ Job=ShortRun IterationCount=3 LaunchCount=1 WarmupCount=3
233+ ```
234+
235+ | Method | N | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Gen1 | Allocated | Alloc Ratio |
236+ | -------------------------- | --------- | ----------------:| ---------------:| --------------:| ------:| --------:| -------:| -------:| ----------:| ------------:|
237+ | 'Blake3 native' | 4 | 54.63 ns | 4.892 ns | 0.268 ns | 1.00 | 0.01 | - | - | - | NA |
238+ | 'Blake3 native parallel' | 4 | 73.61 ns | 1.130 ns | 0.062 ns | 1.35 | 0.01 | - | - | - | NA |
239+ | 'Blake3 managed' | 4 | 53.40 ns | 0.958 ns | 0.052 ns | 0.98 | 0.00 | - | - | - | NA |
240+ | 'Blake3 managed parallel' | 4 | 155.98 ns | 7.096 ns | 0.389 ns | 2.86 | 0.01 | 0.2427 | - | 2032 B | NA |
241+ | Blake2Fast | 4 | 89.95 ns | 5.470 ns | 0.300 ns | 1.65 | 0.01 | 0.0105 | - | 88 B | NA |
242+ | SHA256 | 4 | 155.78 ns | 5.971 ns | 0.327 ns | 2.85 | 0.01 | - | - | - | NA |
243+ | | | | | | | | | | | |
244+ | 'Blake3 native' | 100 | 98.00 ns | 5.644 ns | 0.309 ns | 1.00 | 0.00 | - | - | - | NA |
245+ | 'Blake3 native parallel' | 100 | 121.07 ns | 8.355 ns | 0.458 ns | 1.24 | 0.01 | - | - | - | NA |
246+ | 'Blake3 managed' | 100 | 109.72 ns | 6.966 ns | 0.382 ns | 1.12 | 0.00 | - | - | - | NA |
247+ | 'Blake3 managed parallel' | 100 | 214.49 ns | 3.280 ns | 0.180 ns | 2.19 | 0.01 | 0.2427 | - | 2032 B | NA |
248+ | Blake2Fast | 100 | 91.00 ns | 2.603 ns | 0.143 ns | 0.93 | 0.00 | 0.0105 | - | 88 B | NA |
249+ | SHA256 | 100 | 119.61 ns | 16.474 ns | 0.903 ns | 1.22 | 0.01 | - | - | - | NA |
250+ | | | | | | | | | | | |
251+ | 'Blake3 native' | 1000 | 746.78 ns | 12.175 ns | 0.667 ns | 1.00 | 0.00 | - | - | - | NA |
252+ | 'Blake3 native parallel' | 1000 | 764.26 ns | 10.076 ns | 0.552 ns | 1.02 | 0.00 | - | - | - | NA |
253+ | 'Blake3 managed' | 1000 | 891.85 ns | 14.138 ns | 0.775 ns | 1.19 | 0.00 | - | - | - | NA |
254+ | 'Blake3 managed parallel' | 1000 | 1,069.82 ns | 20.768 ns | 1.138 ns | 1.43 | 0.00 | 0.2422 | - | 2032 B | NA |
255+ | Blake2Fast | 1000 | 634.74 ns | 2.637 ns | 0.145 ns | 0.85 | 0.00 | 0.0105 | - | 88 B | NA |
256+ | SHA256 | 1000 | 350.97 ns | 6.532 ns | 0.358 ns | 0.47 | 0.00 | - | - | - | NA |
257+ | | | | | | | | | | | |
258+ | 'Blake3 native' | 10000 | 4,602.40 ns | 251.165 ns | 13.767 ns | 1.00 | 0.00 | - | - | - | NA |
259+ | 'Blake3 native parallel' | 10000 | 33,551.96 ns | 3,596.025 ns | 197.110 ns | 7.29 | 0.04 | - | - | - | NA |
260+ | 'Blake3 managed' | 10000 | 5,586.79 ns | 142.646 ns | 7.819 ns | 1.21 | 0.00 | - | - | - | NA |
261+ | 'Blake3 managed parallel' | 10000 | 5,993.31 ns | 51.767 ns | 2.837 ns | 1.30 | 0.00 | 0.2365 | - | 2032 B | NA |
262+ | Blake2Fast | 10000 | 6,246.34 ns | 197.050 ns | 10.801 ns | 1.36 | 0.00 | 0.0076 | - | 88 B | NA |
263+ | SHA256 | 10000 | 2,994.28 ns | 65.116 ns | 3.569 ns | 0.65 | 0.00 | - | - | - | NA |
264+ | | | | | | | | | | | |
265+ | 'Blake3 native' | 65536 | 26,085.55 ns | 473.545 ns | 25.957 ns | 1.00 | 0.00 | - | - | - | NA |
266+ | 'Blake3 native parallel' | 65536 | 42,992.70 ns | 12,602.885 ns | 690.807 ns | 1.65 | 0.02 | - | - | - | NA |
267+ | 'Blake3 managed' | 65536 | 31,172.85 ns | 1,403.355 ns | 76.923 ns | 1.20 | 0.00 | - | - | - | NA |
268+ | 'Blake3 managed parallel' | 65536 | 34,678.61 ns | 1,102.136 ns | 60.412 ns | 1.33 | 0.00 | 0.1831 | - | 2032 B | NA |
269+ | Blake2Fast | 65536 | 40,578.36 ns | 1,088.729 ns | 59.677 ns | 1.56 | 0.00 | - | - | 88 B | NA |
270+ | SHA256 | 65536 | 19,119.21 ns | 917.103 ns | 50.270 ns | 0.73 | 0.00 | - | - | - | NA |
271+ | | | | | | | | | | | |
272+ | 'Blake3 native' | 100000 | 40,564.94 ns | 1,032.091 ns | 56.572 ns | 1.00 | 0.00 | - | - | - | NA |
273+ | 'Blake3 native parallel' | 100000 | 83,064.02 ns | 11,919.892 ns | 653.369 ns | 2.05 | 0.01 | - | - | - | NA |
274+ | 'Blake3 managed' | 100000 | 48,730.08 ns | 1,605.163 ns | 87.984 ns | 1.20 | 0.00 | - | - | - | NA |
275+ | 'Blake3 managed parallel' | 100000 | 51,074.99 ns | 1,218.756 ns | 66.804 ns | 1.26 | 0.00 | 0.1831 | - | 2032 B | NA |
276+ | Blake2Fast | 100000 | 62,500.95 ns | 572.123 ns | 31.360 ns | 1.54 | 0.00 | - | - | 88 B | NA |
277+ | SHA256 | 100000 | 29,042.81 ns | 649.545 ns | 35.604 ns | 0.72 | 0.00 | - | - | - | NA |
278+ | | | | | | | | | | | |
279+ | 'Blake3 native' | 131072 | 52,814.87 ns | 1,446.209 ns | 79.272 ns | 1.00 | 0.00 | - | - | - | NA |
280+ | 'Blake3 native parallel' | 131072 | 50,867.40 ns | 10,235.078 ns | 561.019 ns | 0.96 | 0.01 | - | - | - | NA |
281+ | 'Blake3 managed' | 131072 | 63,088.51 ns | 874.194 ns | 47.918 ns | 1.19 | 0.00 | - | - | - | NA |
282+ | 'Blake3 managed parallel' | 131072 | 68,356.97 ns | 4,505.919 ns | 246.985 ns | 1.29 | 0.00 | 0.1221 | - | 2032 B | NA |
283+ | Blake2Fast | 131072 | 82,224.21 ns | 7,020.556 ns | 384.820 ns | 1.56 | 0.01 | - | - | 88 B | NA |
284+ | SHA256 | 131072 | 38,135.92 ns | 2,443.146 ns | 133.917 ns | 0.72 | 0.00 | - | - | - | NA |
285+ | | | | | | | | | | | |
286+ | 'Blake3 native' | 262144 | 106,478.71 ns | 3,408.555 ns | 186.834 ns | 1.00 | 0.00 | - | - | - | NA |
287+ | 'Blake3 native parallel' | 262144 | 61,529.79 ns | 13,136.312 ns | 720.046 ns | 0.58 | 0.01 | - | - | - | NA |
288+ | 'Blake3 managed' | 262144 | 127,121.48 ns | 3,467.199 ns | 190.049 ns | 1.19 | 0.00 | - | - | - | NA |
289+ | 'Blake3 managed parallel' | 262144 | 39,862.71 ns | 1,349.791 ns | 73.987 ns | 0.37 | 0.00 | 0.7935 | - | 7082 B | NA |
290+ | Blake2Fast | 262144 | 165,279.44 ns | 925.884 ns | 50.751 ns | 1.55 | 0.00 | - | - | 88 B | NA |
291+ | SHA256 | 262144 | 76,187.40 ns | 4,852.938 ns | 266.006 ns | 0.72 | 0.00 | - | - | - | NA |
292+ | | | | | | | | | | | |
293+ | 'Blake3 native' | 524288 | 216,947.68 ns | 11,974.904 ns | 656.385 ns | 1.00 | 0.00 | - | - | - | NA |
294+ | 'Blake3 native parallel' | 524288 | 78,209.23 ns | 6,374.411 ns | 349.403 ns | 0.36 | 0.00 | - | - | - | NA |
295+ | 'Blake3 managed' | 524288 | 255,604.02 ns | 3,465.561 ns | 189.959 ns | 1.18 | 0.00 | - | - | - | NA |
296+ | 'Blake3 managed parallel' | 524288 | 72,289.16 ns | 14,233.826 ns | 780.204 ns | 0.33 | 0.00 | 1.3428 | - | 10632 B | NA |
297+ | Blake2Fast | 524288 | 330,627.79 ns | 8,922.170 ns | 489.054 ns | 1.52 | 0.00 | - | - | 88 B | NA |
298+ | SHA256 | 524288 | 152,092.51 ns | 2,935.931 ns | 160.928 ns | 0.70 | 0.00 | - | - | - | NA |
299+ | | | | | | | | | | | |
300+ | 'Blake3 native' | 1000000 | 417,014.26 ns | 2,345.747 ns | 128.578 ns | 1.00 | 0.00 | - | - | - | NA |
301+ | 'Blake3 native parallel' | 1000000 | 271,067.89 ns | 72,822.569 ns | 3,991.651 ns | 0.65 | 0.01 | - | - | - | NA |
302+ | 'Blake3 managed' | 1000000 | 489,391.44 ns | 1,964.795 ns | 107.697 ns | 1.17 | 0.00 | - | - | - | NA |
303+ | 'Blake3 managed parallel' | 1000000 | 106,021.74 ns | 21,381.775 ns | 1,172.007 ns | 0.25 | 0.00 | 1.8311 | - | 14379 B | NA |
304+ | Blake2Fast | 1000000 | 631,112.36 ns | 14,197.852 ns | 778.232 ns | 1.51 | 0.00 | - | - | 88 B | NA |
305+ | SHA256 | 1000000 | 294,554.46 ns | 13,246.935 ns | 726.109 ns | 0.71 | 0.00 | - | - | - | NA |
306+ | | | | | | | | | | | |
307+ | 'Blake3 native' | 10000000 | 4,203,279.94 ns | 209,883.309 ns | 11,504.412 ns | 1.00 | 0.00 | - | - | - | NA |
308+ | 'Blake3 native parallel' | 10000000 | 664,717.87 ns | 149,454.074 ns | 8,192.082 ns | 0.16 | 0.00 | - | - | - | NA |
309+ | 'Blake3 managed' | 10000000 | 4,933,668.62 ns | 30,826.288 ns | 1,689.693 ns | 1.17 | 0.00 | - | - | - | NA |
310+ | 'Blake3 managed parallel' | 10000000 | 867,942.38 ns | 292,194.575 ns | 16,016.171 ns | 0.21 | 0.00 | 9.7656 | 1.9531 | 84831 B | NA |
311+ | Blake2Fast | 10000000 | 6,311,448.89 ns | 94,187.113 ns | 5,162.713 ns | 1.50 | 0.00 | - | - | 88 B | NA |
312+ | SHA256 | 10000000 | 2,991,769.21 ns | 111,094.488 ns | 6,089.464 ns | 0.71 | 0.00 | - | - | - | NA |
313+
314+
224315## How to Build?
225316
226317You need to install the [ .NET 10 SDK] ( https://dotnet.microsoft.com/download/dotnet/10.0 ) or latest Visual Studio 2026. Then from the root folder:
0 commit comments