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.