Skip to content

Commit

Permalink
bench: Added base58 encoding/decoding benchmarks
Browse files Browse the repository at this point in the history
  • Loading branch information
random-zebra committed May 28, 2020
1 parent 4442118 commit 3fa4f27
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/Makefile.bench.include
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ bench_bench_pivx_SOURCES = \
bench/bench.cpp \
bench/bench.h \
bench/Examples.cpp \
bench/base58.cpp \
bench/crypto_hash.cpp

bench_bench_pivx_CPPFLAGS = $(BITCOIN_INCLUDES) $(EVENT_CLFAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/
Expand Down
56 changes: 56 additions & 0 deletions src/bench/base58.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// Copyright (c) 2016 the Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include "bench.h"

#include "main.h"
#include "base58.h"

#include <vector>
#include <string>


static void Base58Encode(benchmark::State& state)
{
unsigned char buff[32] = {
17, 79, 8, 99, 150, 189, 208, 162, 22, 23, 203, 163, 36, 58, 147,
227, 139, 2, 215, 100, 91, 38, 11, 141, 253, 40, 117, 21, 16, 90,
200, 24
};
unsigned char* b = buff;
while (state.KeepRunning()) {
EncodeBase58(b, b + 32);
}
}


static void Base58CheckEncode(benchmark::State& state)
{
unsigned char buff[32] = {
17, 79, 8, 99, 150, 189, 208, 162, 22, 23, 203, 163, 36, 58, 147,
227, 139, 2, 215, 100, 91, 38, 11, 141, 253, 40, 117, 21, 16, 90,
200, 24
};
unsigned char* b = buff;
std::vector<unsigned char> vch;
vch.assign(b, b + 32);
while (state.KeepRunning()) {
EncodeBase58Check(vch);
}
}


static void Base58Decode(benchmark::State& state)
{
const char* addr = "17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhem";
std::vector<unsigned char> vch;
while (state.KeepRunning()) {
DecodeBase58(addr, vch);
}
}


BENCHMARK(Base58Encode);
BENCHMARK(Base58CheckEncode);
BENCHMARK(Base58Decode);

0 comments on commit 3fa4f27

Please sign in to comment.