34 bool operator()() {
return true; }
35 void swap(PrevectorJob &x) noexcept { p.
swap(x.p); };
42 std::vector<std::vector<PrevectorJob>> vBatches(
BATCHES);
43 for (
auto &vChecks : vBatches) {
46 vChecks.emplace_back(insecure_rand);
56 std::vector<std::vector<PrevectorJob>> vBatches(
BATCHES);
57 for (
auto &vChecks : vBatches) {
64 queue.StopWorkerThreads();
BENCHMARK(CCheckQueueSpeedPrevectorJob)
static const int MIN_CORES
static const size_t BATCH_SIZE
static void CCheckQueueSpeedPrevectorJob(benchmark::Bench &bench)
static const int PREVECTOR_SIZE
static const size_t BATCHES
static const size_t QUEUE_BATCH_SIZE
RAII-style controller object for a CCheckQueue that guarantees the passed queue is finished before co...
void Add(std::vector< T > &vChecks)
Queue for verifications that have to be performed.
Users of this module must hold an ECCVerifyHandle.
uint64_t randrange(uint64_t range) noexcept
Generate a random integer in the range [0..range).
Main entry point to nanobench's benchmarking facility.
Bench & run(char const *benchmarkName, Op &&op)
Repeatedly calls op() based on the configuration, and performs measurements.
ANKERL_NANOBENCH(NODISCARD) std Bench & batch(T b) noexcept
Sets the batch size.
Bench & unit(char const *unit)
Sets the operation unit.
ANKERL_NANOBENCH(NODISCARD) std Bench & minEpochIterations(uint64_t numIters) noexcept
Sets the minimum number of iterations each epoch should take.
Implements a drop-in replacement for std::vector<T> which stores up to N elements directly (without h...
void swap(prevector< N, T, Size, Diff > &other) noexcept
void resize(size_type new_size)
void ECC_Start()
Initialize the elliptic curve support.
void ECC_Stop()
Deinitialize the elliptic curve support.
int GetNumCores()
Return the number of cores available on the current system.