1#include <benchmark/benchmark.h>
10using namespace benchmark;
34 auto time_if_index = [&](
size_t target_index,
auto&& func) ->
void {
36 if (index == target_index) {
41 if (index == target_index) {
58 prover.generate_gate_challenges();
63BB_PROFILE static void test_round(State& state,
size_t index)
noexcept
65 auto log2_num_gates =
static_cast<size_t>(state.range(0));
69 auto prover = bb::mock_circuits::get_prover<MegaProver>(
70 &bb::mock_circuits::generate_basic_arithmetic_circuit<MegaCircuitBuilder>, log2_num_gates);
71 for (
auto _ : state) {
78#define ROUND_BENCHMARK(round) \
79 static void ROUND_##round(State& state) noexcept \
81 test_round(state, round); \
83 BENCHMARK(ROUND_##round)->DenseRange(12, 19)->Unit(kMillisecond)
BB_PROFILE void execute_relation_check_rounds()
Run Sumcheck to establish that ∑_i pow(\vec{β*})f_i(ω) = e*. This results in u = (u_1,...
Class for all the oink rounds, which are shared between the folding prover and ultra prover.
void execute_log_derivative_inverse_round()
Compute log derivative inverse polynomial and its commitment, if required.
void execute_grand_product_computation_round()
Compute permutation and lookup grand product polynomials and their commitments.
void execute_preamble_round()
Add circuit size, public input size, and public inputs to transcript.
SubrelationSeparators generate_alphas_round()
void execute_sorted_list_accumulator_round()
Compute sorted witness-table accumulator and commit to the resulting polynomials.
void execute_wire_commitments_round()
Commit to the wire polynomials (part of the witness), with the exception of the fourth wire,...
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
#define BB_REPORT_OP_COUNT_IN_BENCH(state)
#define BB_REPORT_OP_COUNT_BENCH_CANCEL()
@ SORTED_LIST_ACCUMULATOR
@ GRAND_PRODUCT_COMPUTATION
BB_PROFILE void test_round_inner(State &state, MegaProver &prover, size_t index) noexcept
#define ROUND_BENCHMARK(round)