-rw-r--r-- 2509 libmceliece-20240726/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 | | :---- | :--- | ------: | ---: | ---: | | 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.