diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2017-02-15 17:56:54 -0800 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2017-03-29 00:40:17 -0700 |
commit | 663fbae7776b0c238f6f27d73811b4bc627d0b6b (patch) | |
tree | 4b7739bed2762f879f73c51adf3421255b24443e /src | |
parent | c21cbe61c6249bcfca098705df6f9b4baab9f296 (diff) | |
download | bitcoin-663fbae7776b0c238f6f27d73811b4bc627d0b6b.tar.xz |
FastRandom benchmark
Diffstat (limited to 'src')
-rw-r--r-- | src/bench/crypto_hash.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/bench/crypto_hash.cpp b/src/bench/crypto_hash.cpp index 737d3572ae..5257e60e81 100644 --- a/src/bench/crypto_hash.cpp +++ b/src/bench/crypto_hash.cpp @@ -7,6 +7,7 @@ #include "bench.h" #include "bloom.h" #include "hash.h" +#include "random.h" #include "uint256.h" #include "utiltime.h" #include "crypto/ripemd160.h" @@ -69,6 +70,28 @@ static void SipHash_32b(benchmark::State& state) } } +static void FastRandom_32bit(benchmark::State& state) +{ + FastRandomContext rng(true); + uint32_t x; + while (state.KeepRunning()) { + for (int i = 0; i < 1000000; i++) { + x += rng.rand32(); + } + } +} + +static void FastRandom_1bit(benchmark::State& state) +{ + FastRandomContext rng(true); + uint32_t x; + while (state.KeepRunning()) { + for (int i = 0; i < 1000000; i++) { + x += rng.randbool(); + } + } +} + BENCHMARK(RIPEMD160); BENCHMARK(SHA1); BENCHMARK(SHA256); @@ -76,3 +99,5 @@ BENCHMARK(SHA512); BENCHMARK(SHA256_32b); BENCHMARK(SipHash_32b); +BENCHMARK(FastRandom_32bit); +BENCHMARK(FastRandom_1bit); |