Add prevector destructor benchmark

This commit is contained in:
Jeremy Rubin 2017-01-10 14:49:36 -05:00
parent 07fd147b9f
commit aaa02e7f24
2 changed files with 38 additions and 1 deletions

View file

@ -24,7 +24,8 @@ bench_bench_bitcoin_SOURCES = \
bench/base58.cpp \ bench/base58.cpp \
bench/lockedpool.cpp \ bench/lockedpool.cpp \
bench/perf.cpp \ bench/perf.cpp \
bench/perf.h bench/perf.h \
bench/prevector_destructor.cpp
nodist_bench_bench_bitcoin_SOURCES = $(GENERATED_TEST_FILES) nodist_bench_bench_bitcoin_SOURCES = $(GENERATED_TEST_FILES)

View file

@ -0,0 +1,36 @@
// Copyright (c) 2015-2017 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 "prevector.h"
static void PrevectorDestructor(benchmark::State& state)
{
while (state.KeepRunning()) {
for (auto x = 0; x < 1000; ++x) {
prevector<28, unsigned char> t0;
prevector<28, unsigned char> t1;
t0.resize(28);
t1.resize(29);
}
}
}
static void PrevectorClear(benchmark::State& state)
{
while (state.KeepRunning()) {
for (auto x = 0; x < 1000; ++x) {
prevector<28, unsigned char> t0;
prevector<28, unsigned char> t1;
t0.resize(28);
t0.clear();
t1.resize(29);
t0.clear();
}
}
}
BENCHMARK(PrevectorDestructor);
BENCHMARK(PrevectorClear);