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 | 23853524 | 22048 | 99079 |
348864 | 41913413 | 21434 | 99144 | |
460896f | 70726205 | 50358 | 202868 | |
460896 | 107960801 | 48711 | 202753 | |
6688128f | 148348774 | 76501 | 240365 | |
6688128 | 217324257 | 82857 | 240240 | |
6960119f | 132711223 | 83019 | 226515 | |
6960119 | 214136371 | 81994 | 226473 | |
8192128f | 169521365 | 90998 | 239484 | |
8192128 | 293275460 | 91071 | 239458 | |
Cortex-A72 (2016) | 348864f | 196809484 | 187101 | 641657 |
348864 | 237348274 | 178978 | 641346 | |
460896f | 733235093 | 373112 | 1823173 | |
460896 | 1259026237 | 377413 | 1822539 | |
6688128f | 4133626722 | 791317 | 2037935 | |
6688128 | 2635645618 | 710841 | 2037958 | |
6960119f | 3524667051 | 721779 | 1954935 | |
6960119 | 2314179976 | 697555 | 1955669 | |
8192128f | 5388303739 | 804241 | 2012050 | |
8192128 | 4125436615 | 826439 | 2014243 | |
Skylake (2015) | 348864f | 30969609 | 30832 | 113526 |
348864 | 47355747 | 30982 | 113628 | |
460896f | 100359501 | 67049 | 241997 | |
460896 | 136741291 | 67927 | 241932 | |
6688128f | 236094120 | 109611 | 283746 | |
6688128 | 395914021 | 105851 | 284021 | |
6960119f | 192060417 | 112533 | 267271 | |
6960119 | 257717718 | 115340 | 267109 | |
8192128f | 244595111 | 119878 | 284017 | |
8192128 | 315784893 | 120235 | 283563 | |
Haswell (2013) | 348864f | 36231139 | 35251 | 124074 |
348864 | 50886035 | 35351 | 122245 | |
460896f | 116816359 | 77217 | 257374 | |
460896 | 195973792 | 76752 | 257494 | |
6688128f | 287254651 | 129799 | 300355 | |
6688128 | 496069556 | 128546 | 300146 | |
6960119f | 247475836 | 134337 | 281215 | |
6960119 | 434966940 | 133948 | 281167 | |
8192128f | 316014203 | 146582 | 303732 | |
8192128 | 507470319 | 146593 | 303564 |
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 2024.07.26 of the "Speed" web page.