# Performance
## `x86_64` (GCP `n2-standard-4`, Intel Ice Lake, rustc 1.73)
```text
benchmarks fastest │ slowest │ median │ mean │ samples │ iters
├─ aead │ │ │ │ │
│ ├─ 16 584.3 ns │ 77.57 µs │ 606.6 ns │ 613.9 ns │ 1376738 │ 1376738
│ │ 26.11 MiB/s │ 201.4 KiB/s │ 25.15 MiB/s │ 24.85 MiB/s │ │
│ ├─ 256 751.2 ns │ 73.55 µs │ 771.2 ns │ 781.2 ns │ 1087568 │ 1087568
│ │ 324.9 MiB/s │ 3.319 MiB/s │ 316.5 MiB/s │ 312.4 MiB/s │ │
│ ├─ 1024 1.414 µs │ 42.97 µs │ 1.462 µs │ 1.471 µs │ 612739 │ 612739
│ │ 690.4 MiB/s │ 22.72 MiB/s │ 667.9 MiB/s │ 663.5 MiB/s │ │
│ ├─ 16384 14.94 µs │ 58.07 µs │ 15.16 µs │ 15.23 µs │ 64710 │ 64710
│ │ 1.021 GiB/s │ 269 MiB/s │ 1.006 GiB/s │ 1.001 GiB/s │ │
│ ╰─ 1048576 926.8 µs │ 1.7 ms │ 950.7 µs │ 961.7 µs │ 1022 │ 1022
│ 1.053 GiB/s │ 588.1 MiB/s │ 1.027 GiB/s │ 1.015 GiB/s │ │
├─ hash │ │ │ │ │
│ ├─ 16 249.3 ns │ 11.61 µs │ 259.5 ns │ 261.3 ns │ 814673 │ 3258692
│ │ 61.2 MiB/s │ 1.313 MiB/s │ 58.8 MiB/s │ 58.37 MiB/s │ │
│ ├─ 256 459.6 ns │ 35.77 µs │ 469.6 ns │ 473.6 ns │ 1618517 │ 1618517
│ │ 531 MiB/s │ 6.824 MiB/s │ 519.7 MiB/s │ 515.4 MiB/s │ │
│ ├─ 1024 1.015 µs │ 65.07 µs │ 1.045 µs │ 1.053 µs │ 835964 │ 835964
│ │ 962 MiB/s │ 15 MiB/s │ 934.4 MiB/s │ 927.2 MiB/s │ │
│ ├─ 16384 12.6 µs │ 82.78 µs │ 12.77 µs │ 12.86 µs │ 76537 │ 76537
│ │ 1.21 GiB/s │ 188.7 MiB/s │ 1.193 GiB/s │ 1.186 GiB/s │ │
│ ╰─ 1048576 800.3 µs │ 1.52 ms │ 809 µs │ 812.7 µs │ 1205 │ 1205
│ 1.22 GiB/s │ 657.6 MiB/s │ 1.207 GiB/s │ 1.201 GiB/s │ │
├─ prf │ │ │ │ │
│ ├─ 16 235.6 ns │ 15.55 µs │ 244.1 ns │ 246.6 ns │ 861216 │ 3444864
│ │ 64.75 MiB/s │ 1004 KiB/s │ 62.5 MiB/s │ 61.86 MiB/s │ │
│ ├─ 256 266.8 ns │ 9.067 µs │ 278.7 ns │ 281.2 ns │ 726197 │ 2904788
│ │ 915 MiB/s │ 26.92 MiB/s │ 875.8 MiB/s │ 868 MiB/s │ │
│ ├─ 1024 375.8 ns │ 29.67 µs │ 388.1 ns │ 394 ns │ 1008828 │ 2017656
│ │ 2.537 GiB/s │ 32.91 MiB/s │ 2.456 GiB/s │ 2.42 GiB/s │ │
│ ├─ 16384 2.402 µs │ 58.98 µs │ 2.493 µs │ 2.514 µs │ 368430 │ 368430
│ │ 6.35 GiB/s │ 264.8 MiB/s │ 6.119 GiB/s │ 6.068 GiB/s │ │
│ ╰─ 1048576 150.3 µs │ 228 µs │ 154.2 µs │ 154.6 µs │ 5830 │ 5830
│ 6.494 GiB/s │ 4.281 GiB/s │ 6.329 GiB/s │ 6.313 GiB/s │ │
╰─ stream │ │ │ │ │
├─ 16 289.6 ns │ 9.689 µs │ 299.1 ns │ 301.2 ns │ 375176 │ 3001408
│ 52.67 MiB/s │ 1.574 MiB/s │ 51.01 MiB/s │ 50.65 MiB/s │ │
├─ 256 515.4 ns │ 23.56 µs │ 529.3 ns │ 533.4 ns │ 799196 │ 1598392
│ 473.6 MiB/s │ 10.36 MiB/s │ 461.2 MiB/s │ 457.6 MiB/s │ │
├─ 1024 1.183 µs │ 84.15 µs │ 1.222 µs │ 1.232 µs │ 724322 │ 724322
│ 825.1 MiB/s │ 11.6 MiB/s │ 799.1 MiB/s │ 792.3 MiB/s │ │
├─ 16384 14.73 µs │ 80.55 µs │ 14.95 µs │ 15.04 µs │ 65594 │ 65594
│ 1.035 GiB/s │ 193.9 MiB/s │ 1.02 GiB/s │ 1.014 GiB/s │ │
╰─ 1048576 926.8 µs │ 1.361 ms │ 947.9 µs │ 955.3 µs │ 1029 │ 1029
1.053 GiB/s │ 734.6 MiB/s │ 1.03 GiB/s │ 1.022 GiB/s │ │
```
## `aarch64` (Apple M2 Air 2022, rustc 1.73, `RUSTFLAGS="--cfg aes_armv8"`)
```text
benchmarks fastest │ slowest │ median │ mean │ samples │ iters
├─ aead │ │ │ │ │
│ ├─ 16 478.8 ns │ 7.515 µs │ 499.6 ns │ 505.6 ns │ 226181 │ 1809448
│ │ 31.86 MiB/s │ 2.03 MiB/s │ 30.53 MiB/s │ 30.17 MiB/s │ │
│ ├─ 256 577.7 ns │ 7.609 µs │ 598.5 ns │ 600.6 ns │ 192982 │ 1543856
│ │ 422.5 MiB/s │ 32.08 MiB/s │ 407.8 MiB/s │ 406.4 MiB/s │ │
│ ├─ 1024 937.1 ns │ 10.13 µs │ 978.8 ns │ 987.2 ns │ 240384 │ 961536
│ │ 1.017 GiB/s │ 96.35 MiB/s │ 997.7 MiB/s │ 989.1 MiB/s │ │
│ ├─ 16384 8.499 µs │ 49.79 µs │ 8.582 µs │ 8.66 µs │ 112799 │ 112799
│ │ 1.795 GiB/s │ 313.8 MiB/s │ 1.777 GiB/s │ 1.761 GiB/s │ │
│ ╰─ 1048576 520.7 µs │ 607.4 µs │ 521.2 µs │ 525.4 µs │ 1881 │ 1881
│ 1.875 GiB/s │ 1.607 GiB/s │ 1.873 GiB/s │ 1.858 GiB/s │ │
├─ hash │ │ │ │ │
│ ├─ 16 224.8 ns │ 1.296 µs │ 234 ns │ 234.5 ns │ 112340 │ 3594880
│ │ 67.84 MiB/s │ 11.76 MiB/s │ 65.2 MiB/s │ 65.04 MiB/s │ │
│ ├─ 256 322.5 ns │ 3.4 µs │ 335.5 ns │ 336.7 ns │ 164077 │ 2625232
│ │ 756.8 MiB/s │ 71.79 MiB/s │ 727.5 MiB/s │ 725 MiB/s │ │
│ ├─ 1024 635 ns │ 5.442 µs │ 655.8 ns │ 659.3 ns │ 176315 │ 1410520
│ │ 1.501 GiB/s │ 179.4 MiB/s │ 1.454 GiB/s │ 1.446 GiB/s │ │
│ ├─ 16384 6.916 µs │ 47.16 µs │ 7.041 µs │ 7.061 µs │ 137798 │ 137798
│ │ 2.206 GiB/s │ 331.2 MiB/s │ 2.167 GiB/s │ 2.16 GiB/s │ │
│ ╰─ 1048576 435 µs │ 559.1 µs │ 435.1 µs │ 437.2 µs │ 2256 │ 2256
│ 2.244 GiB/s │ 1.746 GiB/s │ 2.244 GiB/s │ 2.233 GiB/s │ │
├─ prf │ │ │ │ │
│ ├─ 16 205.3 ns │ 2.918 µs │ 220.9 ns │ 223.4 ns │ 234007 │ 3744112
│ │ 74.3 MiB/s │ 5.227 MiB/s │ 69.04 MiB/s │ 68.28 MiB/s │ │
│ ├─ 256 228.8 ns │ 3.411 µs │ 247 ns │ 247.3 ns │ 214431 │ 3430896
│ │ 1.042 GiB/s │ 71.57 MiB/s │ 988.2 MiB/s │ 986.9 MiB/s │ │
│ ├─ 1024 296.5 ns │ 2.791 µs │ 312.1 ns │ 313.5 ns │ 172170 │ 2754720
│ │ 3.216 GiB/s │ 349.8 MiB/s │ 3.055 GiB/s │ 3.041 GiB/s │ │
│ ├─ 16384 1.645 µs │ 19.45 µs │ 1.707 µs │ 1.728 µs │ 259413 │ 518826
│ │ 9.273 GiB/s │ 803 MiB/s │ 8.933 GiB/s │ 8.829 GiB/s │ │
│ ╰─ 1048576 91.58 µs │ 139.3 µs │ 94.79 µs │ 94.91 µs │ 9883 │ 9883
│ 10.66 GiB/s │ 7.008 GiB/s │ 10.3 GiB/s │ 10.28 GiB/s │ │
╰─ stream │ │ │ │ │
├─ 16 241.8 ns │ 3.004 µs │ 252.2 ns │ 253.5 ns │ 210147 │ 3362352
│ 63.09 MiB/s │ 5.078 MiB/s │ 60.49 MiB/s │ 60.18 MiB/s │ │
├─ 256 343.3 ns │ 7.301 µs │ 364.2 ns │ 365 ns │ 301128 │ 2409024
│ 710.9 MiB/s │ 33.43 MiB/s │ 670.3 MiB/s │ 668.7 MiB/s │ │
├─ 1024 707.9 ns │ 9.937 µs │ 739.2 ns │ 748.2 ns │ 312592 │ 1250368
│ 1.347 GiB/s │ 98.27 MiB/s │ 1.29 GiB/s │ 1.274 GiB/s │ │
├─ 16384 8.249 µs │ 42.99 µs │ 8.374 µs │ 8.418 µs │ 116039 │ 116039
│ 1.849 GiB/s │ 363.3 MiB/s │ 1.822 GiB/s │ 1.812 GiB/s │ │
╰─ 1048576 520.4 µs │ 650.5 µs │ 520.5 µs │ 528 µs │ 1872 │ 1872
1.876 GiB/s │ 1.501 GiB/s │ 1.875 GiB/s │ 1.849 GiB/s │ │
```