2#include <benchmark/benchmark.h>
8using namespace benchmark;
14void biggroup_construction_bench(State& state)
20 for (
auto _ : state) {
24 size_t num_points =
static_cast<size_t>(state.range(0));
26 std::vector<fr> scalars;
27 for (
size_t i = 0; i < num_points; ++i) {
28 points.push_back(
affine_element(Curve::ElementNative::random_element()));
34 for (
size_t i = 0; i < num_points; ++i) {
35 circuit_points.push_back(element_ct::from_witness(&
builder, points[i]));
36 circuit_scalars.push_back(scalar_ct::from_witness(&
builder, scalars[i]));
39 element_ct::batch_mul(circuit_points, circuit_scalars);
44BENCHMARK(biggroup_construction_bench)->Unit(kMicrosecond)->DenseRange(2, 20);
BENCHMARK(biggroup_construction_bench) -> Unit(kMicrosecond) ->DenseRange(2, 20)
typename Group::element Element
grumpkin::g1::affine_element affine_element
RNG & get_debug_randomness(bool reset, std::uint_fast64_t seed)
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
static field random_element(numeric::RNG *engine=nullptr) noexcept