Just a quick one – I needed some numbers for crypto and hashing performance on Apple Silicon so I vibe coded something quick and dirty to establish some, hoping it is useful for someone out there.. I only have access to two Apple Silicon CPUs a M2 Macbook Air, and a M4 Pro Macmini. All numbers are warmed up and averaged across multiple runs
SHA-256
Using CC_SHA256 which provides hardware SHA2 acceleration.
| Block size | M2 Mac Book Air (GiB/Sec) | M4 Pro Macmini (GiB/Sec) |
| 4 KiB | 2.33 | 2.97 |
| 8 KiB | 2.45 | 3.13 |
| 16 KiB | 2.51 | 3.18 |
| 32 KiB | 2.54 | 3.21 |
| 64 KiB | 2.55 | 3.26 |
| 128 KiB | 2.56 | 3.27 |
| 256 KiB | 2.57 | 3.28 |
| 512 KiB | 2.57 | 3.28 |
| 1 MiB | 2.57 | 3.27 |
| 2 MiB | 2.57 | 3.27 |
| 4 MiB | 2.57 | 3.27 |
| 8 MiB | 2.57 | 3.28 |
| 16 MiB | 2.56 | 3.28 |
AES-256
Via CCCrypt, using ECB mode.
| Block size | M2 Mac Book Air (GiB/Sec) | M4 Pro Macmini (GiB/Sec) |
| 4 KiB | 6.43 | 8.66 |
| 8 KiB | 7.73 | 10.89 |
| 16 KiB | 8.59 | 12.45 |
| 32 KiB | 9.12 | 13.46 |
| 64 KiB | 9.21 | 13.84 |
| 128 KiB | 9.28 | 14.32 |
| 256 KiB | 9.35 | 14.56 |
| 512 KiB | 9.39 | 14.53 |
| 1 MiB | 9.40 | 14.63 |
| 2 MiB | 9.41 | 14.66 |
| 4 MiB | 9.43 | 14.70 |
| 8 MiB | 9.42 | 14.66 |
| 16 MiB | 9.37 | 14.49 |
CRC-64 PMULL
Since there is no specific support for CRC in CCCrypt, this is just hand-rolled using the ARM NEON PMULL instruction to accelerate the calculation (without it performance is in the hundreds of megabytes per second). This is using the ECMA constant 0x42F0E1EBA9EA3693.
| Block size | M2 Mac Book Air (GiB/Sec) | M4 Pro Macmini (GiB/Sec) |
| 4 KiB | 58.89 | 67.50 |
| 8 KiB | 49.98 | 61.30 |
| 16 KiB | 53.52 | 63.76 |
| 32 KiB | 51.17 | 63.15 |
| 64 KiB | 50.74 | 63.09 |
| 128 KiB | 50.79 | 62.95 |
| 256 KiB | 50.35 | 62.50 |
| 512 KiB | 50..36 | 61.72 |
| 1 MiB | 50.28 | 57.87 |
| 2 MiB | 50.34 | 61.36 |
| 4 MiB | 50.27 | 61.58 |
| 8 MiB | 50.29 | 61.38 |
| 16 MiB | 49.67 | 61.01 |
Conclusion
Both the M2 and M4 Pro perform excellently here, worth noting that there is not a huge generational difference evident.
