-rw-r--r-- 2511 libmceliece-20240812/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 |
| :---- | :--- | ------: | ---: | ---: |
| Zen 3 (2020) | 348864f | 24241427 | 20896 | 106120
| | 348864 | 40074457 | 21250 | 106010
| | 460896f | 71585193 | 47778 | 203810
| | 460896 | 138182796 | 50839 | 203619
| | 6688128f | 148989371 | 83254 | 244114
| | 6688128 | 271944342 | 89346 | 244001
| | 6960119f | 133188150 | 83088 | 226604
| | 6960119 | 225441407 | 85869 | 226592
| | 8192128f | 169768652 | 94775 | 243161
| | 8192128 | 195766472 | 91447 | 243202
| Cortex-A72 (2016) | 348864f | 199363880 | 192428 | 671038
| | 348864 | 294401727 | 183997 | 678825
| | 460896f | 766937290 | 373905 | 1830020
| | 460896 | 1135399927 | 385550 | 1830314
| | 6688128f | 3702198268 | 723047 | 2040683
| | 6688128 | 2433794904 | 705937 | 2040913
| | 6960119f | 3255120772 | 715705 | 1967672
| | 6960119 | 2379359380 | 728018 | 1966251
| | 8192128f | 4924249535 | 818925 | 1964729
| | 8192128 | 5203306512 | 834666 | 1965810
| Skylake (2015) | 348864f | 31537432 | 31009 | 124414
| | 348864 | 42047050 | 30084 | 124137
| | 460896f | 101751153 | 65186 | 249453
| | 460896 | 191034397 | 66828 | 249449
| | 6688128f | 238582690 | 110753 | 296605
| | 6688128 | 301730122 | 108074 | 296733
| | 6960119f | 197842434 | 116088 | 271887
| | 6960119 | 284985480 | 116550 | 271985
| | 8192128f | 254387675 | 124460 | 297189
| | 8192128 | 377312827 | 125388 | 297062
| Haswell (2013) | 348864f | 37022884 | 34771 | 132914
| | 348864 | 58981691 | 35037 | 133040
| | 460896f | 119152869 | 75239 | 264620
| | 460896 | 211972093 | 73011 | 264709
| | 6688128f | 287226059 | 124485 | 314937
| | 6688128 | 518106272 | 125541 | 314807
| | 6960119f | 247092040 | 133418 | 287672
| | 6960119 | 353207506 | 136531 | 287940
| | 8192128f | 316448610 | 145482 | 318963
| | 8192128 | 428599985 | 145848 | 312924
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.