2#include <benchmark/benchmark.h>
6using namespace benchmark;
14 for (
size_t i = 0; i < points.size(); ++i) {
23 for (
size_t i = 0; i < points.size(); ++i) {
29void pairing_single(State& state)
noexcept
34 for (
auto _ : state) {
36 DoNotOptimize(result);
40void pairing_batch(State& state)
noexcept
42 const auto num_pairs =
static_cast<size_t>(state.range(0));
43 static const auto p_points = get_g1_points();
44 static const auto q_points = get_g2_points();
46 for (
auto _ : state) {
48 DoNotOptimize(result);
55BENCHMARK(pairing_batch)->Arg(2)->Arg(4)->Arg(8)->Unit(kMicrosecond);
static constexpr affine_element affine_one
AffineElement const size_t num_pairs
constexpr fq12 reduced_ate_pairing(const g1::affine_element &P_affine, const g2::affine_element &Q_affine)
fq12 reduced_ate_pairing_batch(const g1::affine_element *P_affines, const g2::affine_element *Q_affines, const size_t num_points)
Entry point for Barretenberg command-line interface.
field< Bn254FrParams > fr
BENCHMARK(bench_commit_structured_random_poly< curve::BN254 >) -> Unit(benchmark::kMillisecond)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept