42 void swap(PrevectorJob& x){p.
swap(x.p);};
51 std::vector<std::vector<PrevectorJob>> vBatches(
BATCHES);
52 for (
auto& vChecks : vBatches) {
55 vChecks.emplace_back(insecure_rand);
61 for (
auto vChecks : vBatches) {
68 queue.StopWorkerThreads();
BENCHMARK(CCheckQueueSpeedPrevectorJob)
static const size_t BATCH_SIZE
static void CCheckQueueSpeedPrevectorJob(benchmark::Bench &bench)
static const int PREVECTOR_SIZE
static const size_t BATCHES
static const unsigned int 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.
ANKERL_NANOBENCH(NODISCARD) std Bench & batch(T b) noexcept
Sets the batch size.
Bench & run(char const *benchmarkName, Op &&op)
Repeatedly calls op() based on the configuration, and performs measurements.
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)
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.