33 bool operator()() {
return true; }
40 std::vector<std::vector<PrevectorJob>> vBatches(
BATCHES);
41 for (
auto &vChecks : vBatches) {
44 vChecks.emplace_back(insecure_rand);
54 std::vector<std::vector<PrevectorJob>> vBatches(
BATCHES);
55 for (
auto &vChecks : vBatches) {
56 control.
Add(std::move(vChecks));
62 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.
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 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.