I'm having troubles in interpreting the output of the SUPERCOP benchmarks of some digital signature schemes.
Precisely, I don't understand how to read the number of cycles for the key generation. This should be found in the line of the SUPERCOP output file with the keyword "keypair_cycles". However, I find three such lines, with significantly different numbers. Below the three lines from the benchmark of Dilithium3:
SHELL:
[...]$ ./do-part crypto_sign dilithium3
[...] starting
[...] crypto_sign/dilithium3
[...] crypto_sign/dilithium3/avx2 constbranchindex
[...] crypto_sign/dilithium3/avx2 constbranchindex gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
[...] crypto_sign/dilithium3/ref constbranchindex
[...] crypto_sign/dilithium3/ref constbranchindex gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
[...] crypto_sign/dilithium3 constbranchindex measuring
[...] finishing
[...] database size for this run: 1218 28630 185871 [...]
SUPERCOP output file
[my machine] crypto_sign dilithium3/constbranchindex keypair_cycles - 94034 134909 95486 95039 94335 94184 93892 93937 93971 93613 93677 94135 93846 93322 94034 94134
[my machine] crypto_sign dilithium3/constbranchindex keypair_cycles - 81618 84214 82419 81657 82054 81119 81618 81807 81616 81176 82033 81842 81496 81125 81332 81618
[my machine] crypto_sign dilithium3/constbranchindex keypair_cycles - 81553 84202 82084 82365 81595 81497 81587 81576 81091 81283 81513 81322 81316 81210 82077 81553
As you can see, in the first line, the median time for key generation is about 15% greater than in the other two lines.
Why three lines instead of just one? Why are the numbers different?
Thanks for any help!