-rw-r--r-- 2945 libmceliece-20260622/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 | 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.