Skip to content

Commit a1ad9eb

Browse files
riptlripatel-fd
authored andcommitted
lthash: add benchmark
1 parent ed641cf commit a1ad9eb

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/ballet/lthash/test_lthash.c

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,34 @@ static ushort const lthash_world[1024] = {
136136
0x8b70, 0x1be3, 0xa39d, 0xbf82, 0x6e04, 0x3bd2, 0xdf31, 0x0741, 0xaab8, 0xd398, 0x01f4, 0xdd3a, 0x2f9d, 0x2b55, 0x6811, 0x171f,
137137
};
138138

139+
static void
140+
bench_lthash( void ) {
141+
uchar out[ 2048 ] __attribute__((aligned(64)));
142+
143+
fd_blake3_t _sha[1];
144+
fd_blake3_t * sha = fd_blake3_join( fd_blake3_new( _sha ) );
145+
FD_TEST( sha );
146+
147+
/* warmup */
148+
ulong iter_target = 1<<21UL;
149+
ulong iter = iter_target>>7;
150+
long dt = fd_log_wallclock();
151+
for( ulong rem=iter; rem; rem-- ) fd_blake3_fini_varlen( fd_blake3_append( fd_blake3_init( sha ), lthash_hello, 32UL ), out, sizeof(out) );
152+
dt = fd_log_wallclock() - dt;
153+
154+
/* for real */
155+
iter = iter_target;
156+
dt = fd_log_wallclock();
157+
for( ulong rem=iter; rem; rem-- ) fd_blake3_fini_varlen( fd_blake3_append( fd_blake3_init( sha ), lthash_hello, 32UL ), out, sizeof(out) );
158+
dt = fd_log_wallclock() - dt;
159+
160+
FD_LOG_NOTICE(( "~%.2e hash/s; %f ns per hash",
161+
(double)(((float)(iter))/((float)dt*1e-9f)),
162+
(double)dt/(double)iter ));
163+
164+
fd_blake3_delete( fd_blake3_leave( sha ) );
165+
}
166+
139167
int
140168
main( int argc,
141169
char ** argv ) {
@@ -204,6 +232,8 @@ main( int argc,
204232
FD_LOG_ERR(( "FAIL fd_lthash_zero()" ));
205233
}
206234

235+
bench_lthash();
236+
207237
fd_rng_delete( fd_rng_leave( rng ) );
208238
FD_LOG_NOTICE(( "pass" ));
209239
fd_halt();

0 commit comments

Comments
 (0)