Test results for amd64, hertz, crypto_hash/essence224
[Page version: 20250926 22:06:17]
Measurements for amd64, hertz, crypto_hash
Test results for amd64, hertz, crypto_hash
Test results for crypto_hash/essence224
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20250922
Operation: crypto_hash
Primitive: essence224
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
69217 | 20201 3168 0 | 34591 4036 968 | T:gcc | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 |
70352 | 20153 3200 0 | 33814 4044 1032 | T:gcc | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 |
70668 | 21838 3168 0 | 38039 4036 968 | T:gcc | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 |
70938 | 7992 3168 0 | 18049 3956 936 | T:gcc | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 |
86652 | 9036 3168 0 | 20787 4004 968 | T:gcc | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 |
101045 | 10520 3168 0 | 22238 3980 1032 | T:gcc | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 |
Compiler output
essence_L_tables.c: In file included from essence_L_tables.c:12:
essence_L_tables.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_L_tables.c: 13 | #ifndef _ESSENCE_API_H_
essence_L_tables.c: | ^~~~~~~~~~~~~~~
essence_L_tables.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_L_tables.c: 14 | #define _ESSENCE_H_API_
essence_L_tables.c: | ^~~~~~~~~~~~~~~
essence_L_tables.c: | _ESSENCE_API_H_
essence_L_tables.c: 1 warning generated.
essence_api.c: In file included from essence_api.c:11:
essence_api.c: In file included from ./essence.h:11:
essence_api.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_api.c: 13 | #ifndef _ESSENCE_API_H_
essence_api.c: | ^~~~~~~~~~~~~~~
essence_api.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_api.c: 14 | #define _ESSENCE_H_API_
essence_api.c: | ^~~~~~~~~~~~~~~
essence_api.c: | _ESSENCE_API_H_
essence_api.c: essence_api.c:68:9: warning: unused variable 'byte_array' [-Wunused-variable]
essence_api.c: 68 | byte *byte_array;
essence_api.c: | ^~~~~~~~~~
essence_api.c: essence_api.c:542:13: warning: unused variable 'root_hash' [-Wunused-variable]
essence_api.c: 542 | uint64_t *root_hash;
essence_api.c: | ^~~~~~~~~
essence_api.c: essence_api.c:543:12: warning: unused variable 'blocks_per_tree' [-Wunused-variable]
essence_api.c: 543 | int i,j, blocks_per_tree, leaf_num, level, level_mask;
essence_api.c: | ^~~~~~~~~~~~~~~
essence_api.c: essence_api.c:543:29: warning: unused variable 'leaf_num' [-Wunused-variable]
essence_api.c: 543 | int i,j, blocks_per_tree, leaf_num, level, level_mask;
essence_api.c: | ^~~~~~~~
essence_api.c: essence_api.c:543:39: warning: unused variable 'level' [-Wunused-variable]
essence_api.c: 543 | int i,j, blocks_per_tree, leaf_num, level, level_mask;
essence_api.c: | ^~~~~
essence_api.c: essence_api.c:543:46: warning: unused variable 'level_mask' [-Wunused-variable]
essence_api.c: ...
essence_compress_256.c: In file included from essence_compress_256.c:11:
essence_compress_256.c: In file included from ./essence.h:11:
essence_compress_256.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_256.c: 13 | #ifndef _ESSENCE_API_H_
essence_compress_256.c: | ^~~~~~~~~~~~~~~
essence_compress_256.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256.c: 14 | #define _ESSENCE_H_API_
essence_compress_256.c: | ^~~~~~~~~~~~~~~
essence_compress_256.c: | _ESSENCE_API_H_
essence_compress_256.c: 1 warning generated.
essence_compress_256_dual.c: In file included from essence_compress_256_dual.c:11:
essence_compress_256_dual.c: In file included from ./essence.h:11:
essence_compress_256_dual.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_256_dual.c: 13 | #ifndef _ESSENCE_API_H_
essence_compress_256_dual.c: | ^~~~~~~~~~~~~~~
essence_compress_256_dual.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256_dual.c: 14 | #define _ESSENCE_H_API_
essence_compress_256_dual.c: | ^~~~~~~~~~~~~~~
essence_compress_256_dual.c: | _ESSENCE_API_H_
essence_compress_256_dual.c: 1 warning generated.
essence_compress_512.c: In file included from essence_compress_512.c:10:
essence_compress_512.c: In file included from ./essence.h:11:
essence_compress_512.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_512.c: 13 | #ifndef _ESSENCE_API_H_
essence_compress_512.c: | ^~~~~~~~~~~~~~~
essence_compress_512.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_512.c: 14 | #define _ESSENCE_H_API_
essence_compress_512.c: | ^~~~~~~~~~~~~~~
essence_compress_512.c: | _ESSENCE_API_H_
essence_compress_512.c: 1 warning generated.
hash.c: In file included from hash.c:2:
hash.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
hash.c: 13 | #ifndef _ESSENCE_API_H_
hash.c: | ^~~~~~~~~~~~~~~
hash.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
hash.c: 14 | #define _ESSENCE_H_API_
hash.c: | ^~~~~~~~~~~~~~~
hash.c: | _ESSENCE_API_H_
hash.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:gcc | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4)) |
T:gcc | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4)) |
T:gcc | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4)) |
Compiler output
essence_L_tables.c: In file included from essence_L_tables.c:12:
essence_L_tables.c: essence_api.h:13: warning: header guard '_ESSENCE_API_H_' followed by '#define' of a different macro [-Wheader-guard]
essence_L_tables.c: 13 | #ifndef _ESSENCE_API_H_
essence_L_tables.c: essence_api.h:14: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_L_tables.c: 14 | #define _ESSENCE_H_API_
essence_api.c: In file included from essence.h:11,
essence_api.c: from essence_api.c:11:
essence_api.c: essence_api.h:13: warning: header guard '_ESSENCE_API_H_' followed by '#define' of a different macro [-Wheader-guard]
essence_api.c: 13 | #ifndef _ESSENCE_API_H_
essence_api.c: essence_api.h:14: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_api.c: 14 | #define _ESSENCE_H_API_
essence_api.c: essence_api.c: In function 'Init':
essence_api.c: essence_api.c:68:9: warning: unused variable 'byte_array' [-Wunused-variable]
essence_api.c: 68 | byte *byte_array;
essence_api.c: | ^~~~~~~~~~
essence_api.c: essence_api.c: In function 'Merge_Tree_512':
essence_api.c: essence_api.c:543:46: warning: unused variable 'level_mask' [-Wunused-variable]
essence_api.c: 543 | int i,j, blocks_per_tree, leaf_num, level, level_mask;
essence_api.c: | ^~~~~~~~~~
essence_api.c: essence_api.c:543:39: warning: unused variable 'level' [-Wunused-variable]
essence_api.c: 543 | int i,j, blocks_per_tree, leaf_num, level, level_mask;
essence_api.c: | ^~~~~
essence_api.c: essence_api.c:543:29: warning: unused variable 'leaf_num' [-Wunused-variable]
essence_api.c: 543 | int i,j, blocks_per_tree, leaf_num, level, level_mask;
essence_api.c: | ^~~~~~~~
essence_api.c: essence_api.c:543:12: warning: unused variable 'blocks_per_tree' [-Wunused-variable]
essence_api.c: 543 | int i,j, blocks_per_tree, leaf_num, level, level_mask;
essence_api.c: | ^~~~~~~~~~~~~~~
essence_api.c: essence_api.c:542:13: warning: unused variable 'root_hash' [-Wunused-variable]
essence_api.c: 542 | uint64_t *root_hash;
essence_api.c: ...
essence_compress_256.c: In file included from essence.h:11,
essence_compress_256.c: from essence_compress_256.c:11:
essence_compress_256.c: essence_api.h:13: warning: header guard '_ESSENCE_API_H_' followed by '#define' of a different macro [-Wheader-guard]
essence_compress_256.c: 13 | #ifndef _ESSENCE_API_H_
essence_compress_256.c: essence_api.h:14: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256.c: 14 | #define _ESSENCE_H_API_
essence_compress_256.c: essence_compress_256.c: In function 'essence_compress_256':
essence_compress_256.c: essence.h:142:7: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
essence_compress_256.c: 142 | (d)&(((a)&((((((~(b)) ^ (e)) & (~(g))) ^ (b)) ^ (e)) ^ \
essence_compress_256.c: | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256.c: 143 | (((f) ^ (g)) & ((((((b) ^ (f)) ^ (c)) & (f)) ^ (b)) & \
essence_compress_256.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256.c: 144 | ((((b) ^ (f)) & (~(e))) ^ (b)))))) ^ \
essence_compress_256.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256.c: 145 | ((((e) ^ ((((b) ^ (f)) & (~(e))) ^ (b))) & \
essence_compress_256.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256.c: 146 | (((((~(g)) ^ (b)) ^ (c)) ^ (f)) & \
essence_compress_256.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256.c: 147 | (((((b) ^ (f)) ^ (c)) & \
essence_compress_256.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256.c: 148 | (f)) ^ (((((~(b)) ^ (e)) & (~(g))) ^ \
essence_compress_256.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256.c: 149 | (b)) ^ (e))))) ^ \
essence_compress_256.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256.c: 150 | ((((b) ^ ((f) ^ (g))) ^ (c)) ^ (e)))) ^ \
essence_compress_256.c: ...
essence_compress_256_dual.c: In file included from essence.h:11,
essence_compress_256_dual.c: from essence_compress_256_dual.c:11:
essence_compress_256_dual.c: essence_api.h:13: warning: header guard '_ESSENCE_API_H_' followed by '#define' of a different macro [-Wheader-guard]
essence_compress_256_dual.c: 13 | #ifndef _ESSENCE_API_H_
essence_compress_256_dual.c: essence_api.h:14: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256_dual.c: 14 | #define _ESSENCE_H_API_
essence_compress_256_dual.c: essence_compress_256_dual.c: In function 'essence_compress_256_dual':
essence_compress_256_dual.c: essence.h:142:7: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
essence_compress_256_dual.c: 142 | (d)&(((a)&((((((~(b)) ^ (e)) & (~(g))) ^ (b)) ^ (e)) ^ \
essence_compress_256_dual.c: | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256_dual.c: 143 | (((f) ^ (g)) & ((((((b) ^ (f)) ^ (c)) & (f)) ^ (b)) & \
essence_compress_256_dual.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256_dual.c: 144 | ((((b) ^ (f)) & (~(e))) ^ (b)))))) ^ \
essence_compress_256_dual.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256_dual.c: 145 | ((((e) ^ ((((b) ^ (f)) & (~(e))) ^ (b))) & \
essence_compress_256_dual.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256_dual.c: 146 | (((((~(g)) ^ (b)) ^ (c)) ^ (f)) & \
essence_compress_256_dual.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256_dual.c: 147 | (((((b) ^ (f)) ^ (c)) & \
essence_compress_256_dual.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256_dual.c: 148 | (f)) ^ (((((~(b)) ^ (e)) & (~(g))) ^ \
essence_compress_256_dual.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256_dual.c: 149 | (b)) ^ (e))))) ^ \
essence_compress_256_dual.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_256_dual.c: 150 | ((((b) ^ ((f) ^ (g))) ^ (c)) ^ (e)))) ^ \
essence_compress_256_dual.c: ...
essence_compress_512.c: In file included from essence.h:11,
essence_compress_512.c: from essence_compress_512.c:10:
essence_compress_512.c: essence_api.h:13: warning: header guard '_ESSENCE_API_H_' followed by '#define' of a different macro [-Wheader-guard]
essence_compress_512.c: 13 | #ifndef _ESSENCE_API_H_
essence_compress_512.c: essence_api.h:14: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_512.c: 14 | #define _ESSENCE_H_API_
essence_compress_512.c: essence_compress_512.c: In function 'essence_compress_512':
essence_compress_512.c: essence.h:142:7: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
essence_compress_512.c: 142 | (d)&(((a)&((((((~(b)) ^ (e)) & (~(g))) ^ (b)) ^ (e)) ^ \
essence_compress_512.c: | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_512.c: 143 | (((f) ^ (g)) & ((((((b) ^ (f)) ^ (c)) & (f)) ^ (b)) & \
essence_compress_512.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_512.c: 144 | ((((b) ^ (f)) & (~(e))) ^ (b)))))) ^ \
essence_compress_512.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_512.c: 145 | ((((e) ^ ((((b) ^ (f)) & (~(e))) ^ (b))) & \
essence_compress_512.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_512.c: 146 | (((((~(g)) ^ (b)) ^ (c)) ^ (f)) & \
essence_compress_512.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_512.c: 147 | (((((b) ^ (f)) ^ (c)) & \
essence_compress_512.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_512.c: 148 | (f)) ^ (((((~(b)) ^ (e)) & (~(g))) ^ \
essence_compress_512.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_512.c: 149 | (b)) ^ (e))))) ^ \
essence_compress_512.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essence_compress_512.c: 150 | ((((b) ^ ((f) ^ (g))) ^ (c)) ^ (e)))) ^ \
essence_compress_512.c: ...
hash.c: In file included from hash.c:2:
hash.c: essence_api.h:13: warning: header guard '_ESSENCE_API_H_' followed by '#define' of a different macro [-Wheader-guard]
hash.c: 13 | #ifndef _ESSENCE_API_H_
hash.c: essence_api.h:14: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
hash.c: 14 | #define _ESSENCE_H_API_
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:gcc | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
T:gcc | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
T:gcc | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
Namespace violations
essence_L_tables.o L_32_table D
essence_L_tables.o L_64_table D
essence_api.o Final T
essence_api.o Final_256 T
essence_api.o Final_512 T
essence_api.o Hash T
essence_api.o Init T
essence_api.o Join_256 T
essence_api.o Join_512 T
essence_api.o Merge_Tree_256 T
essence_api.o Merge_Tree_512 T
essence_api.o Update T
essence_api.o Update_256 T
essence_api.o Update_512 T
essence_api.o expansion_of_pi_32 D
essence_api.o expansion_of_pi_64 D
essence_compress_256.o essence_compress_256 T
essence_compress_256_dual.o essence_compress_256_dual T
essence_compress_512.o essence_compress_512 T
Number of similar (implementation,compiler) pairs: 6, namely:
Implementation | Compiler |
T:gcc | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4)) |
T:gcc | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4)) |
T:gcc | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4)) |
T:gcc | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
T:gcc | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
T:gcc | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |