Test results for amd64, hertz, crypto_sign/rainbowbinary256181212

[Page version: 20250926 22:06:17]

Measurements for amd64, hertz, crypto_sign Test results for amd64, hertz, crypto_sign Test results for crypto_sign/rainbowbinary256181212
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20250922
Operation: crypto_sign
Primitive: rainbowbinary256181212
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2617352179 168 880466 1076 1832T:refclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
2663951194 168 877466 1076 1832T:refclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
2911235979 112 823261031 980 10184T:refg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
3267137189 168 860401 1068 1832T:refclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
3463131908 112 823255047 980 10184T:refg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
7172627843 112 823249539 980 10088T:refg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025092520250922

Compiler output


rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp:   171 |                 if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp:       |                                                            ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: rainbow-test.cpp:56:10: warning: first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'gfv<256, 24>' [-Wnontrivial-memcall]
rainbow-test.cpp:    56 |         memcpy( &y , h ,M );
rainbow-test.cpp:       |                 ^
rainbow-test.cpp: rainbow-test.cpp:56:10: note: explicitly cast the pointer to silence this warning
rainbow-test.cpp:    56 |         memcpy( &y , h ,M );
rainbow-test.cpp:       |                 ^
rainbow-test.cpp:       |                 (void*)
rainbow-test.cpp: rainbow-test.cpp:81:10: warning: first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'gfv<256, 42>' [-Wnontrivial-memcall]
rainbow-test.cpp:    81 |         memcpy( &x , sm ,N );
rainbow-test.cpp:       |                 ^
rainbow-test.cpp: rainbow-test.cpp:81:10: note: explicitly cast the pointer to silence this warning
rainbow-test.cpp:    81 |         memcpy( &x , sm ,N );
rainbow-test.cpp:       |                 ^
rainbow-test.cpp:       |                 (void*)
rainbow-test.cpp: In file included from rainbow-test.cpp:3:
rainbow-test.cpp: In file included from ./rainbow.h:5:
rainbow-test.cpp: ./MQPKC.h:40:88: warning: first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'gfv<256U, 24U>' [-Wnontrivial-memcall]
rainbow-test.cpp:    40 |         virtual void qmap( gfv<GF,M> & y , const byte *, const gfv<GF,N> & x ) const { memcpy(&y,&x,(N>M)?sizeof(gfv<GF,M>):sizeof(gfv<GF,N>)); }
rainbow-test.cpp:       |                                                                                               ^
rainbow-test.cpp: ./MQPKC.h:49:2: note: in instantiation of member function 'MQPKC<256, 42, 24, 0>::qmap' requested here
rainbow-test.cpp: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4))
T:refclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4))
T:refclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4))

Compiler output


rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: gf.h:25:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    25 |         inline gf<p>() {}
rainbow-test.cpp:       |                     ^
rainbow-test.cpp: gf.h:25:21: note: remove the '< >'
rainbow-test.cpp: gf.h:26:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    26 |         inline gf<p>(const gf<p>& a):v(a.v){}
rainbow-test.cpp:       |                     ^
rainbow-test.cpp: gf.h:26:21: note: remove the '< >'
rainbow-test.cpp: gf.h:27:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    27 |         inline gf<p>(const byte &a):v(a){}
rainbow-test.cpp:       |                     ^
rainbow-test.cpp: gf.h:27:21: note: remove the '< >'
rainbow-test.cpp: gf.h:63:27: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    63 |         inline gfv_unit<p>(){}
rainbow-test.cpp:       |                           ^
rainbow-test.cpp: gf.h:63:27: note: remove the '< >'
rainbow-test.cpp: gf.h:64:27: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    64 |         inline gfv_unit<p>(const gfv_unit<p>& a):v(a.v){}
rainbow-test.cpp:       |                           ^
rainbow-test.cpp: gf.h:64:27: note: remove the '< >'
rainbow-test.cpp: gf.h:65:27: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    65 |         inline gfv_unit<p>(const __m128i& a):v(a){}
rainbow-test.cpp:       |                           ^
rainbow-test.cpp: gf.h:65:27: note: remove the '< >'
rainbow-test.cpp: ...
usehash.cpp: usehash.cpp: In function 'int crypto_sign_rainbowbinary256181212_ref_timingleaks(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*)':
usehash.cpp: usehash.cpp:39:16: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
usehash.cpp:    39 |   for (i = 0;i < mlen;++i) {
usehash.cpp:       |              ~~^~~~~~
usehash.cpp: usehash.cpp: In function 'int crypto_sign_rainbowbinary256181212_ref_timingleaks_open(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*)':
usehash.cpp: usehash.cpp:59:30: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
usehash.cpp:    59 |   for (i = SIGNATURE_BYTES;i < smlen;++i) m[i - SIGNATURE_BYTES] = sm[i];
usehash.cpp:       |                            ~~^~~~~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0)
T:refg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0)
T:refg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0)