// Copyright (c) 2016-2019 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 #include #include #define ASIZE 2048 #define BITER 5000 #define MSIZE 2048 static void BenchLockedPool(benchmark::State& state) { void *synth_base = reinterpret_cast(0x08000000); const size_t synth_size = 1024*1024; Arena b(synth_base, synth_size, 16); std::vector addr; for (int x=0; x> 16) & (MSIZE-1)); } bool lsb = s & 1; s >>= 1; if (lsb) s ^= 0xf00f00f0; // LFSR period 0xf7ffffe0 } } for (void *ptr: addr) b.free(ptr); addr.clear(); } BENCHMARK(BenchLockedPool, 1300);