pq-crystals/kyber

the result of test_speed seems like some problem

lizhirui opened this issue · 0 comments

I run "make speed" and run "test_speed512" ang got following result:

I noticed that the median of gen_a is 61888cycles/ticks and indcpa_keypair is 88894cycles/ticks.

Does this mean gen_a cost 69.6% time of indcpa_keypair?

But according other data, for example, NTT is 6832 cycles/ticks, and 4-time NTTs are necessary for indcpa_keypair, which is 30.7% time of indcpa_keypair.

So, 69.6%+30.7%=100.3%?And other steps also should cost some time, such as basemul/keccak and so on.

Maybe the measured time cost by gen_a is wrong?

gen_a:
median: 61888 cycles/ticks
average: 55950 cycles/ticks

poly_getnoise_eta1:
median: 5672 cycles/ticks
average: 5309 cycles/ticks

poly_getnoise_eta2:
median: 2358 cycles/ticks
average: 2357 cycles/ticks

NTT:
median: 6832 cycles/ticks
average: 6841 cycles/ticks

INVNTT:
median: 10282 cycles/ticks
average: 10290 cycles/ticks

polyvec_basemul_acc_montgomery:
median: 7538 cycles/ticks
average: 7827 cycles/ticks

poly_tomsg:
median: 862 cycles/ticks
average: 942 cycles/ticks

poly_frommsg:
median: 110 cycles/ticks
average: 152 cycles/ticks

poly_compress:
median: 632 cycles/ticks
average: 631 cycles/ticks

poly_decompress:
median: 60 cycles/ticks
average: 60 cycles/ticks

polyvec_compress:
median: 2364 cycles/ticks
average: 2364 cycles/ticks

polyvec_decompress:
median: 1086 cycles/ticks
average: 1087 cycles/ticks

indcpa_keypair:
median: 88894 cycles/ticks
average: 92470 cycles/ticks

indcpa_enc:
median: 102660 cycles/ticks
average: 106733 cycles/ticks

indcpa_dec:
median: 31482 cycles/ticks
average: 33258 cycles/ticks

kyber_keypair:
median: 98828 cycles/ticks
average: 102650 cycles/ticks

kyber_encaps:
median: 124006 cycles/ticks
average: 127835 cycles/ticks

kyber_decaps:
median: 144542 cycles/ticks
average: 149224 cycles/ticks

kex_uake_initA:
median: 222886 cycles/ticks
average: 229872 cycles/ticks

kex_uake_sharedB:
median: 270726 cycles/ticks
average: 280474 cycles/ticks

kex_uake_sharedA:
median: 146330 cycles/ticks
average: 152676 cycles/ticks

kex_ake_initA:
median: 222870 cycles/ticks
average: 230413 cycles/ticks

kex_ake_sharedB:
median: 394732 cycles/ticks
average: 406949 cycles/ticks

kex_ake_sharedA:
median: 290918 cycles/ticks
average: 300254 cycles/ticks