# Performance
## `x86_64` (GCP `n2-standard-4`, Intel Ice Lake, `+aes,+ssse3`)
```text
benchmarks fastest │ slowest │ median │ mean │ samples │ iters
├─ aead │ │ │ │ │
│ ├─ 16 398.9 ns │ 79.44 µs │ 412 ns │ 414.9 ns │ 1913971 │ 1913971
│ │ 38.24 MiB/s │ 196.6 KiB/s │ 37.03 MiB/s │ 36.77 MiB/s │ │
│ ├─ 256 407 ns │ 3.563 µs │ 412.2 ns │ 414.2 ns │ 270486 │ 2163888
│ │ 599.8 MiB/s │ 68.51 MiB/s │ 592.1 MiB/s │ 589.2 MiB/s │ │
│ ├─ 1024 479.6 ns │ 36.28 µs │ 494.3 ns │ 498 ns │ 1551081 │ 1551081
│ │ 1.988 GiB/s │ 26.91 MiB/s │ 1.929 GiB/s │ 1.914 GiB/s │ │
│ ├─ 16384 1.808 µs │ 108.4 µs │ 1.821 µs │ 1.837 µs │ 491783 │ 491783
│ │ 8.435 GiB/s │ 144 MiB/s │ 8.378 GiB/s │ 8.305 GiB/s │ │
│ ╰─ 1048576 91.14 µs │ 217.2 µs │ 91.47 µs │ 92.76 µs │ 9095 │ 9095
│ 10.71 GiB/s │ 4.494 GiB/s │ 10.67 GiB/s │ 10.52 GiB/s │ │
├─ hash │ │ │ │ │
│ ├─ 16 133.3 ns │ 2.381 µs │ 135.3 ns │ 136.2 ns │ 390679 │ 6250864
│ │ 114.3 MiB/s │ 6.407 MiB/s │ 112.7 MiB/s │ 112 MiB/s │ │
│ ├─ 256 329.8 ns │ 7.549 µs │ 336.6 ns │ 338.2 ns │ 626000 │ 2504000
│ │ 740 MiB/s │ 32.33 MiB/s │ 725.2 MiB/s │ 721.8 MiB/s │ │
│ ├─ 1024 905.8 ns │ 64.18 µs │ 937.3 ns │ 943.8 ns │ 926478 │ 926478
│ │ 1.052 GiB/s │ 15.21 MiB/s │ 1.017 GiB/s │ 1.01 GiB/s │ │
│ ├─ 16384 12.42 µs │ 67.98 µs │ 12.66 µs │ 12.71 µs │ 77402 │ 77402
│ │ 1.227 GiB/s │ 229.8 MiB/s │ 1.204 GiB/s │ 1.199 GiB/s │ │
│ ╰─ 1048576 795.5 µs │ 888.6 µs │ 803.3 µs │ 804.9 µs │ 1216 │ 1216
│ 1.227 GiB/s │ 1.098 GiB/s │ 1.215 GiB/s │ 1.213 GiB/s │ │
├─ hash_writer │ │ │ │ │
│ ├─ 16 168.1 ns │ 19.13 µs │ 176.6 ns │ 177.9 ns │ 3746008 │ 3746008
│ │ 90.74 MiB/s │ 816.6 KiB/s │ 86.39 MiB/s │ 85.72 MiB/s │ │
│ ├─ 256 368.1 ns │ 66.24 µs │ 379.6 ns │ 382.7 ns │ 2114318 │ 2114318
│ │ 663.1 MiB/s │ 3.685 MiB/s │ 642.9 MiB/s │ 637.8 MiB/s │ │
│ ├─ 1024 945.8 ns │ 66.81 µs │ 968.1 ns │ 976.4 ns │ 939151 │ 939151
│ │ 1.008 GiB/s │ 14.61 MiB/s │ 1008 MiB/s │ 1000 MiB/s │ │
│ ├─ 16384 12.54 µs │ 57.52 µs │ 12.78 µs │ 12.84 µs │ 77339 │ 77339
│ │ 1.216 GiB/s │ 271.5 MiB/s │ 1.193 GiB/s │ 1.188 GiB/s │ │
│ ╰─ 1048576 799 µs │ 973.9 µs │ 810 µs │ 811.2 µs │ 1233 │ 1233
│ 1.222 GiB/s │ 1.002 GiB/s │ 1.205 GiB/s │ 1.203 GiB/s │ │
├─ prf │ │ │ │ │
│ ├─ 16 123.6 ns │ 2.002 µs │ 125.9 ns │ 126.6 ns │ 414526 │ 6632416
│ │ 123.3 MiB/s │ 7.621 MiB/s │ 121.1 MiB/s │ 120.5 MiB/s │ │
│ ├─ 256 142.3 ns │ 8.977 µs │ 145.8 ns │ 146.7 ns │ 1221139 │ 4884556
│ │ 1.674 GiB/s │ 27.19 MiB/s │ 1.634 GiB/s │ 1.624 GiB/s │ │
│ ├─ 1024 192.5 ns │ 6.197 µs │ 195.7 ns │ 196.7 ns │ 259338 │ 4149408
│ │ 4.952 GiB/s │ 157.5 MiB/s │ 4.871 GiB/s │ 4.846 GiB/s │ │
│ ├─ 16384 1.238 µs │ 31.61 µs │ 1.267 µs │ 1.29 µs │ 673080 │ 673080
│ │ 12.32 GiB/s │ 494.2 MiB/s │ 12.03 GiB/s │ 11.82 GiB/s │ │
│ ╰─ 1048576 71.63 µs │ 138.1 µs │ 71.88 µs │ 72.61 µs │ 11163 │ 11163
│ 13.63 GiB/s │ 7.066 GiB/s │ 13.58 GiB/s │ 13.44 GiB/s │ │
╰─ stream │ │ │ │ │
├─ 16 267.4 ns │ 5.754 µs │ 271.2 ns │ 272.9 ns │ 413709 │ 3309672
│ 57.04 MiB/s │ 2.651 MiB/s │ 56.25 MiB/s │ 55.9 MiB/s │ │
├─ 256 285.4 ns │ 10.92 µs │ 290.8 ns │ 292.1 ns │ 709103 │ 2836412
│ 855.2 MiB/s │ 22.34 MiB/s │ 839.4 MiB/s │ 835.6 MiB/s │ │
├─ 1024 349.6 ns │ 16.87 µs │ 355 ns │ 356.8 ns │ 588053 │ 2352212
│ 2.727 GiB/s │ 57.85 MiB/s │ 2.685 GiB/s │ 2.672 GiB/s │ │
├─ 16384 1.688 µs │ 84.88 µs │ 1.698 µs │ 1.724 µs │ 520452 │ 520452
│ 9.034 GiB/s │ 184 MiB/s │ 8.985 GiB/s │ 8.847 GiB/s │ │
╰─ 1048576 91.02 µs │ 169.5 µs │ 91.25 µs │ 92.05 µs │ 9167 │ 9167
10.72 GiB/s │ 5.76 GiB/s │ 10.7 GiB/s │ 10.6 GiB/s │ │
```
## `aarch64` (Apple M2 Air 2022, rustc 1.73)
```text
benchmarks fastest │ slowest │ median │ mean │ samples │ iters
├─ aead │ │ │ │ │
│ ├─ 16 166.3 ns │ 47.83 µs │ 249.6 ns │ 259.6 ns │ 3175651 │ 3175651
│ │ 91.72 MiB/s │ 326.6 KiB/s │ 61.11 MiB/s │ 58.77 MiB/s │ │
│ ├─ 256 254.9 ns │ 3.624 µs │ 267.9 ns │ 270.2 ns │ 197589 │ 3161424
│ │ 957.7 MiB/s │ 67.35 MiB/s │ 911.2 MiB/s │ 903.4 MiB/s │ │
│ ├─ 1024 304.3 ns │ 3.687 µs │ 317.4 ns │ 320.3 ns │ 165652 │ 2650432
│ │ 3.133 GiB/s │ 264.8 MiB/s │ 3.004 GiB/s │ 2.976 GiB/s │ │
│ ├─ 16384 1.239 µs │ 12.83 µs │ 1.301 µs │ 1.311 µs │ 164479 │ 657916
│ │ 12.31 GiB/s │ 1.189 GiB/s │ 11.72 GiB/s │ 11.63 GiB/s │ │
│ ╰─ 1048576 65.54 µs │ 115.8 µs │ 65.87 µs │ 66.68 µs │ 13700 │ 13700
│ 14.89 GiB/s │ 8.43 GiB/s │ 14.82 GiB/s │ 14.64 GiB/s │ │
├─ hash │ │ │ │ │
│ ├─ 16 88.88 ns │ 927.4 ns │ 90.83 ns │ 91.77 ns │ 114865 │ 7351360
│ │ 171.6 MiB/s │ 16.45 MiB/s │ 167.9 MiB/s │ 166.2 MiB/s │ │
│ ├─ 256 187.1 ns │ 3.135 µs │ 197.6 ns │ 198.6 ns │ 255227 │ 4083632
│ │ 1.273 GiB/s │ 77.87 MiB/s │ 1.206 GiB/s │ 1.2 GiB/s │ │
│ ├─ 1024 499.6 ns │ 7.489 µs │ 515.3 ns │ 518.6 ns │ 219829 │ 1758632
│ │ 1.908 GiB/s │ 130.3 MiB/s │ 1.85 GiB/s │ 1.838 GiB/s │ │
│ ├─ 16384 6.833 µs │ 68.12 µs │ 6.916 µs │ 7.068 µs │ 137611 │ 137611
│ │ 2.233 GiB/s │ 229.3 MiB/s │ 2.206 GiB/s │ 2.158 GiB/s │ │
│ ╰─ 1048576 434.8 µs │ 526.9 µs │ 435 µs │ 443 µs │ 2226 │ 2226
│ 2.245 GiB/s │ 1.853 GiB/s │ 2.244 GiB/s │ 2.204 GiB/s │ │
├─ hash_writer │ │ │ │ │
│ ├─ 16 111 ns │ 767.2 ns │ 118.1 ns │ 118.8 ns │ 128962 │ 8253568
│ │ 137.4 MiB/s │ 19.88 MiB/s │ 129.1 MiB/s │ 128.3 MiB/s │ │
│ ├─ 256 213.2 ns │ 3.137 µs │ 221 ns │ 222.4 ns │ 276452 │ 4423232
│ │ 1.118 GiB/s │ 77.8 MiB/s │ 1.078 GiB/s │ 1.071 GiB/s │ │
│ ├─ 1024 536.1 ns │ 7.02 µs │ 551.7 ns │ 553.5 ns │ 223687 │ 1789496
│ │ 1.778 GiB/s │ 139.1 MiB/s │ 1.728 GiB/s │ 1.722 GiB/s │ │
│ ├─ 16384 6.999 µs │ 66.62 µs │ 7.083 µs │ 7.199 µs │ 138315 │ 138315
│ │ 2.179 GiB/s │ 234.5 MiB/s │ 2.154 GiB/s │ 2.119 GiB/s │ │
│ ╰─ 1048576 447.8 µs │ 831.5 µs │ 454.1 µs │ 468 µs │ 2136 │ 2136
│ 2.18 GiB/s │ 1.174 GiB/s │ 2.15 GiB/s │ 2.086 GiB/s │ │
├─ prf │ │ │ │ │
│ ├─ 16 83.02 ns │ 734 ns │ 86.93 ns │ 88.2 ns │ 117812 │ 7539968
│ │ 183.7 MiB/s │ 20.78 MiB/s │ 175.5 MiB/s │ 172.9 MiB/s │ │
│ ├─ 256 101.2 ns │ 9.804 µs │ 106.4 ns │ 107.8 ns │ 204696 │ 6550272
│ │ 2.354 GiB/s │ 24.9 MiB/s │ 2.239 GiB/s │ 2.211 GiB/s │ │
│ ├─ 1024 146.8 ns │ 1.641 µs │ 153.3 ns │ 154.7 ns │ 151469 │ 4847008
│ │ 6.495 GiB/s │ 594.8 MiB/s │ 6.219 GiB/s │ 6.161 GiB/s │ │
│ ├─ 16384 1.041 µs │ 13.34 µs │ 1.114 µs │ 1.126 µs │ 175117 │ 700468
│ │ 14.65 GiB/s │ 1.143 GiB/s │ 13.69 GiB/s │ 13.54 GiB/s │ │
│ ╰─ 1048576 61.74 µs │ 123.1 µs │ 66.12 µs │ 69.75 µs │ 12433 │ 12433
│ 15.81 GiB/s │ 7.931 GiB/s │ 14.76 GiB/s │ 14 GiB/s │ │
╰─ stream │ │ │ │ │
├─ 16 158.5 ns │ 7.379 µs │ 166.3 ns │ 169.4 ns │ 145565 │ 4658080
│ 96.24 MiB/s │ 2.067 MiB/s │ 91.72 MiB/s │ 90.06 MiB/s │ │
├─ 256 172.8 ns │ 1.762 µs │ 181.9 ns │ 182.4 ns │ 137278 │ 4392896
│ 1.379 GiB/s │ 138.5 MiB/s │ 1.31 GiB/s │ 1.306 GiB/s │ │
├─ 1024 218.4 ns │ 25.95 µs │ 231.4 ns │ 235.1 ns │ 217376 │ 3478016
│ 4.365 GiB/s │ 37.63 MiB/s │ 4.12 GiB/s │ 4.055 GiB/s │ │
├─ 16384 1.166 µs │ 15.13 µs │ 1.187 µs │ 1.214 µs │ 176156 │ 704624
│ 13.08 GiB/s │ 1.008 GiB/s │ 12.85 GiB/s │ 12.56 GiB/s │ │
╰─ 1048576 65.37 µs │ 853 µs │ 65.54 µs │ 66.9 µs │ 13675 │ 13675
14.93 GiB/s │ 1.144 GiB/s │ 14.89 GiB/s │ 14.59 GiB/s │ │
```