libmceliece
libmceliece: Speed

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.


Version: This is version 2025.05.06 of the "Speed" web page.