Skip to content

Commit 3ec483e

Browse files
committed
bench: more final proof of work benchmark to pow_hash
1 parent fb54ce0 commit 3ec483e

File tree

2 files changed

+27
-72
lines changed

2 files changed

+27
-72
lines changed

src/bench/crypto_hash.cpp

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -295,15 +295,6 @@ static void DSHA256_1M(benchmark::Bench& bench)
295295
});
296296
}
297297

298-
static void X11_1M(benchmark::Bench& bench)
299-
{
300-
uint256 hash;
301-
std::vector<uint8_t> in(BUFFER_SIZE,0);
302-
bench.batch(in.size()).unit("byte").run([&] {
303-
hash = HashX11(in.begin(), in.end());
304-
});
305-
}
306-
307298
/* Hash different number of bytes via DSHA256 */
308299
static void DSHA256_0032b_single(benchmark::Bench& bench)
309300
{
@@ -359,74 +350,11 @@ static void DSHA256_2048b_single(benchmark::Bench& bench)
359350
});
360351
}
361352

362-
/* Hash different number of bytes via X11 */
363-
static void X11_0032b_single(benchmark::Bench& bench)
364-
{
365-
uint256 hash;
366-
std::vector<uint8_t> in(32,0);
367-
bench.batch(in.size()).unit("byte").run([&] {
368-
hash = HashX11(in.begin(), in.end());
369-
});
370-
}
371-
372-
static void X11_0080b_single(benchmark::Bench& bench)
373-
{
374-
uint256 hash;
375-
std::vector<uint8_t> in(80,0);
376-
bench.batch(in.size()).unit("byte").run([&] {
377-
hash = HashX11(in.begin(), in.end());
378-
});
379-
}
380-
381-
static void X11_0128b_single(benchmark::Bench& bench)
382-
{
383-
uint256 hash;
384-
std::vector<uint8_t> in(128,0);
385-
bench.batch(in.size()).unit("byte").run([&] {
386-
hash = HashX11(in.begin(), in.end());
387-
});
388-
}
389-
390-
static void X11_0512b_single(benchmark::Bench& bench)
391-
{
392-
uint256 hash;
393-
std::vector<uint8_t> in(512,0);
394-
bench.batch(in.size()).unit("byte").run([&] {
395-
hash = HashX11(in.begin(), in.end());
396-
});
397-
}
398-
399-
static void X11_1024b_single(benchmark::Bench& bench)
400-
{
401-
uint256 hash;
402-
std::vector<uint8_t> in(1024,0);
403-
bench.batch(in.size()).unit("byte").run([&] {
404-
hash = HashX11(in.begin(), in.end());
405-
});
406-
}
407-
408-
static void X11_2048b_single(benchmark::Bench& bench)
409-
{
410-
uint256 hash;
411-
std::vector<uint8_t> in(2048,0);
412-
bench.batch(in.size()).unit("byte").run([&] {
413-
hash = HashX11(in.begin(), in.end());
414-
});
415-
}
416-
417353
BENCHMARK(DSHA256_1M);
418-
BENCHMARK(X11_1M);
419354

420355
BENCHMARK(DSHA256_0032b_single);
421356
BENCHMARK(DSHA256_0080b_single);
422357
BENCHMARK(DSHA256_0128b_single);
423358
BENCHMARK(DSHA256_0512b_single);
424359
BENCHMARK(DSHA256_1024b_single);
425360
BENCHMARK(DSHA256_2048b_single);
426-
427-
BENCHMARK(X11_0032b_single);
428-
BENCHMARK(X11_0080b_single);
429-
BENCHMARK(X11_0128b_single);
430-
BENCHMARK(X11_0512b_single);
431-
BENCHMARK(X11_1024b_single);
432-
BENCHMARK(X11_2048b_single);

src/bench/pow_hash.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#include <bench/bench.h>
66

7+
#include <hash_x11.h>
8+
79
#include <crypto/x11/sph_blake.h>
810
#include <crypto/x11/sph_bmw.h>
911
#include <crypto/x11/sph_cubehash.h>
@@ -22,6 +24,15 @@ static constexpr size_t BUFFER_SIZE{1000*1000};
2224
//! Bytes required to represent 512-bit unsigned integers (uint512)
2325
static constexpr size_t OUTPUT_SIZE{64};
2426

27+
inline void Pow_X11(benchmark::Bench& bench, const size_t bytes)
28+
{
29+
uint256 hash{};
30+
std::vector<uint8_t> in(bytes, 0);
31+
bench.batch(in.size()).unit("byte").run([&] {
32+
hash = HashX11(in.begin(), in.end());
33+
});
34+
}
35+
2536
inline void Pow_Blake512(benchmark::Bench& bench, const size_t bytes)
2637
{
2738
sph_blake512_context ctx;
@@ -155,6 +166,14 @@ inline void Pow_Skein512(benchmark::Bench& bench, const size_t bytes)
155166
}
156167
} // anonymous namespace
157168

169+
static void Pow_X11_0032b(benchmark::Bench& bench) { return Pow_X11(bench, 32); }
170+
static void Pow_X11_0080b(benchmark::Bench& bench) { return Pow_X11(bench, 80); }
171+
static void Pow_X11_0128b(benchmark::Bench& bench) { return Pow_X11(bench, 128); }
172+
static void Pow_X11_0512b(benchmark::Bench& bench) { return Pow_X11(bench, 512); }
173+
static void Pow_X11_1024b(benchmark::Bench& bench) { return Pow_X11(bench, 1024); }
174+
static void Pow_X11_2048b(benchmark::Bench& bench) { return Pow_X11(bench, 2048); }
175+
static void Pow_X11_1M(benchmark::Bench& bench) { return Pow_X11(bench, BUFFER_SIZE); }
176+
158177
static void Pow_Blake512_0032b(benchmark::Bench& bench) { return Pow_Blake512(bench, 32); }
159178
static void Pow_Blake512_0080b(benchmark::Bench& bench) { return Pow_Blake512(bench, 80); }
160179
static void Pow_Blake512_0128b(benchmark::Bench& bench) { return Pow_Blake512(bench, 128); }
@@ -243,6 +262,14 @@ static void Pow_Skein512_1024b(benchmark::Bench& bench) { return Pow_Skein512(be
243262
static void Pow_Skein512_2048b(benchmark::Bench& bench) { return Pow_Skein512(bench, 2048); }
244263
static void Pow_Skein512_1M(benchmark::Bench& bench) { return Pow_Skein512(bench, BUFFER_SIZE); }
245264

265+
BENCHMARK(Pow_X11_0032b);
266+
BENCHMARK(Pow_X11_0080b);
267+
BENCHMARK(Pow_X11_0128b);
268+
BENCHMARK(Pow_X11_0512b);
269+
BENCHMARK(Pow_X11_1024b);
270+
BENCHMARK(Pow_X11_2048b);
271+
BENCHMARK(Pow_X11_1M);
272+
246273
BENCHMARK(Pow_Blake512_0032b);
247274
BENCHMARK(Pow_Blake512_0080b);
248275
BENCHMARK(Pow_Blake512_0128b);

0 commit comments

Comments
 (0)