1#include <benchmark/benchmark.h>
11using namespace benchmark;
20 using RelationEvaluations =
decltype(create_tuple_of_arrays_of_values<typename Flavor::Relations>());
22 for (
auto _ : state) {
35 const size_t dyadic_size = 1 << state.range(0);
36 Polys polys(dyadic_size);
38 auto params = Params::get_random();
40 for (
auto _ : state) {
41 PGInternal pg_internal;
42 auto result = pg_internal.compute_row_evaluations(polys, alphas, params);
43 DoNotOptimize(result);
50 static constexpr size_t k{ 1 };
59 auto log2_num_gates =
static_cast<size_t>(state.range(0));
61 const auto construct_key = [&]() {
69 for (
size_t i = 0; i < k + 1; ++i) {
73 decider_pks.emplace_back(decider_pk);
74 decider_vks.emplace_back(decider_vk);
79 ProtogalaxyProver folding_prover(decider_pks, decider_vks, transcript);
81 for (
auto _ : state) {
83 auto proof = folding_prover.prove();
A DeciderProvingKey is normally constructed from a finalized circuit and it contains all the informat...
The DeciderVerificationKey encapsulates all the necessary information for a Mega Honk Verifier to ver...
A container for the prover polynomials handles.
std::array< FF, NUM_SUBRELATIONS - 1 > SubrelationSeparators
MegaCircuitBuilder CircuitBuilder
static void construct_arithmetic_circuit(Builder &builder, const size_t target_log2_dyadic_size=4, bool include_public_inputs=true)
Populate a builder with a specified number of arithmetic gates; includes a PI.
A purely static class (never add state to this!) consisting of functions used by the Protogalaxy prov...
crypto::Poseidon2Bn254ScalarFieldParams Params
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
Entry point for Barretenberg command-line interface.
DenseRange(MIN_LOG_NUM_GRUMPKIN_POINTS, MAX_LOG_NUM_GRUMPKIN_POINTS) -> Unit(benchmark::kMillisecond)
void compute_row_evaluations(State &state) noexcept
void vector_of_evaluations(State &state) noexcept
BENCHMARK(vector_of_evaluations) -> DenseRange(15, 21) ->Unit(kMillisecond) ->Iterations(1)
void fold_k(State &state) noexcept
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
#define BB_REPORT_OP_COUNT_IN_BENCH(state)
Container for parameters used by the grand product (permutation, lookup) Honk relations.