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 26702721 25877 104315
348864 47241390 25147 104299
460896f 85891861 56528 225219
460896 118239775 51638 225602
6688128f 192996034 88660 257820
6688128 264578202 90780 257435
6960119f 162596200 94413 246512
6960119 273461119 92832 246622
8192128f 203579065 95385 258386
8192128 337716772 97097 258619
Zen 3 (2020) 348864f 25550915 20871 106168
348864 38014967 20868 106193
460896f 80984815 51551 202858
460896 114379521 50832 202569
6688128f 170997101 85067 242624
6688128 284171715 82481 242626
6960119f 146785133 88667 224698
6960119 238814535 85131 224710
8192128f 187085229 99484 243160
8192128 239564508 100051 243151
Cortex-A72 (2016) 348864f 130909354 92767 669595
348864 220469639 90310 670412
460896f 573689089 230150 1828528
460896 1014412985 219213 1796065
6688128f 3602145473 440274 2035241
6688128 2714194348 446666 2023408
6960119f 3165330320 439753 1916320
6960119 2736709149 441183 1966159
8192128f 4717814971 522378 2015387
8192128 4090323266 524085 2013453
Skylake (2015) 348864f 30202260 39083 119248
348864 51334574 38436 119346
460896f 99338536 79356 243173
460896 159315082 79933 242728
6688128f 236107379 133417 288182
6688128 317940073 133695 288141
6960119f 194706484 128107 265536
6960119 313286440 135365 265443
8192128f 250244398 139800 294447
8192128 345668115 140313 294391
Haswell (2013) 348864f 36182898 43226 131172
348864 54661655 41932 131201
460896f 117386581 82267 263199
460896 223576010 96023 263178
6688128f 284200048 147210 317726
6688128 424699686 148781 317442
6960119f 244918803 144722 291042
6960119 384489053 152081 291106
8192128f 311243452 159440 314944
8192128 474381602 155255 315058

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 2026.06.20 of the "Speed" web page.