Skip to content

Commit aaa02e7

Browse files
committed
Add prevector destructor benchmark
1 parent 07fd147 commit aaa02e7

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

src/Makefile.bench.include

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ bench_bench_bitcoin_SOURCES = \
2424
bench/base58.cpp \
2525
bench/lockedpool.cpp \
2626
bench/perf.cpp \
27-
bench/perf.h
27+
bench/perf.h \
28+
bench/prevector_destructor.cpp
2829

2930
nodist_bench_bench_bitcoin_SOURCES = $(GENERATED_TEST_FILES)
3031

src/bench/prevector_destructor.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright (c) 2015-2017 The Bitcoin Core developers
2+
// Distributed under the MIT software license, see the accompanying
3+
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4+
5+
#include "bench.h"
6+
#include "prevector.h"
7+
8+
static void PrevectorDestructor(benchmark::State& state)
9+
{
10+
while (state.KeepRunning()) {
11+
for (auto x = 0; x < 1000; ++x) {
12+
prevector<28, unsigned char> t0;
13+
prevector<28, unsigned char> t1;
14+
t0.resize(28);
15+
t1.resize(29);
16+
}
17+
}
18+
}
19+
20+
static void PrevectorClear(benchmark::State& state)
21+
{
22+
23+
while (state.KeepRunning()) {
24+
for (auto x = 0; x < 1000; ++x) {
25+
prevector<28, unsigned char> t0;
26+
prevector<28, unsigned char> t1;
27+
t0.resize(28);
28+
t0.clear();
29+
t1.resize(29);
30+
t0.clear();
31+
}
32+
}
33+
}
34+
35+
BENCHMARK(PrevectorDestructor);
36+
BENCHMARK(PrevectorClear);

0 commit comments

Comments
 (0)