6#include <benchmark/benchmark.h>
11using namespace benchmark;
19class ClientIVCBench :
public benchmark::Fixture {
22 static constexpr size_t NUM_ITERATIONS_MEDIUM_COMPLEXITY = 5;
24 void SetUp([[maybe_unused]] const ::benchmark::State& state)
override
33BENCHMARK_DEFINE_F(ClientIVCBench, VerificationOnly)(benchmark::State& state)
35 size_t NUM_APP_CIRCUITS = 1;
39 for (
auto _ : state) {
47BENCHMARK_DEFINE_F(ClientIVCBench, Full)(benchmark::State& state)
49 size_t NUM_APP_CIRCUITS =
static_cast<size_t>(state.range(0));
52 for (
auto _ : state) {
58#define ARGS Arg(ClientIVCBench::NUM_ITERATIONS_MEDIUM_COMPLEXITY)->Arg(2)
60BENCHMARK_REGISTER_F(ClientIVCBench, Full)->Unit(benchmark::kMillisecond)->ARGS;
61BENCHMARK_REGISTER_F(ClientIVCBench, VerificationOnly)->Unit(benchmark::kMillisecond);
static bool verify(const Proof &proof, const VerificationKey &vk)
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
Entry point for Barretenberg command-line interface.
std::pair< ClientIVC::Proof, ClientIVC::VerificationKey > accumulate_and_prove_ivc_with_precomputed_vks(size_t num_app_circuits, auto &precomputed_vks, const bool large_first_app=true)
Perform a specified number of circuit accumulation rounds.
std::vector< std::shared_ptr< typename MegaFlavor::VerificationKey > > precompute_vks(const size_t num_app_circuits, const bool large_first_app=true)
VerifierCommitmentKey< Curve > vk
#define BB_REPORT_OP_COUNT_IN_BENCH(state)