-rw-r--r-- 2948 libmceliece-20250507/doc/speed.md raw
In the following speed table, smaller numbers are better.
The numbers are interquartile means of single-core cycle counts on various microarchitectures.
Overclocking is disabled.
| μarch | KEM | keypair | enc | dec |
| :---- | :--- | ------: | ---: | ---: |
| Golden Cove (2021) | 348864f | 27694220 | 25823 | 103989
| | 348864 | 48943141 | 25093 | 104315
| | 460896f | 88008381 | 55177 | 226496
| | 460896 | 120871460 | 55208 | 225544
| | 6688128f | 195664357 | 95101 | 257129
| | 6688128 | 364760420 | 89189 | 257521
| | 6960119f | 164759310 | 100613 | 246989
| | 6960119 | 261971020 | 96220 | 246768
| | 8192128f | 207108881 | 97602 | 258056
| | 8192128 | 291216421 | 99108 | 258742
| Zen 3 (2020) | 348864f | 24141615 | 20981 | 106818
| | 348864 | 42116225 | 20340 | 106771
| | 460896f | 71699954 | 47778 | 203743
| | 460896 | 139413616 | 51145 | 203810
| | 6688128f | 147663581 | 84200 | 243390
| | 6688128 | 225773276 | 83372 | 243577
| | 6960119f | 134720196 | 85562 | 227344
| | 6960119 | 191481147 | 85129 | 227166
| | 8192128f | 169707190 | 95731 | 243108
| | 8192128 | 289001419 | 91763 | 243131
| Cortex-A72 (2016) | 348864f | 199749025 | 127316 | 692168
| | 348864 | 300280712 | 128532 | 693836
| | 460896f | 693822150 | 271175 | 1819163
| | 460896 | 1051700002 | 295548 | 1824810
| | 6688128f | 1993990544 | 527289 | 2007011
| | 6688128 | 2858748964 | 547673 | 2011676
| | 6960119f | 1757890446 | 524092 | 1954778
| | 6960119 | 2265737644 | 523214 | 1946872
| | 8192128f | 2386213745 | 569531 | 1998927
| | 8192128 | 2859809191 | 569209 | 1994426
| Skylake (2015) | 348864f | 31572882 | 30489 | 124538
| | 348864 | 45252625 | 30526 | 124585
| | 460896f | 102408752 | 66588 | 250506
| | 460896 | 157767641 | 65736 | 250240
| | 6688128f | 239418569 | 107819 | 298223
| | 6688128 | 298891515 | 105567 | 298061
| | 6960119f | 195512627 | 114520 | 271401
| | 6960119 | 268948732 | 113223 | 271619
| | 8192128f | 247207962 | 120654 | 298976
| | 8192128 | 358839657 | 120029 | 299054
| Haswell (2013) | 348864f | 36790422 | 37030 | 132635
| | 348864 | 46180202 | 35974 | 132544
| | 460896f | 118828852 | 79929 | 264260
| | 460896 | 193624440 | 75924 | 264249
| | 6688128f | 287655524 | 131042 | 314493
| | 6688128 | 405568950 | 124427 | 314295
| | 6960119f | 245666814 | 135088 | 288775
| | 6960119 | 467626606 | 134673 | 288820
| | 8192128f | 316859602 | 147687 | 316395
| | 8192128 | 484192317 | 147602 | 316524
Microarchitectures are listed in reverse chronological order of when they were introduced.
In the libmceliece distribution,
`command/mceliece-speed.c` measures libmceliece;
`benchmarks/*-*` is the output of `mceliece-speed` on various machines;
and `autogen/md-speed` extracts the table from those measurements.
The table reports only interquartile means of cycle counts.
See the full output files
for differences between multiple measurements and the interquartile mean.