1#include <benchmark/benchmark.h>
7using namespace benchmark;
13static void construct_proof_megahonk(State& state,
void (*test_circuit_function)(
MegaCircuitBuilder&,
size_t))
noexcept
15 size_t num_iterations = 10;
16 bb::mock_circuits::construct_proof_with_specified_num_iterations<MegaProver>(
17 state, test_circuit_function, num_iterations);
23static void construct_proof_megahonk_power_of_2(State& state)
noexcept
25 auto log2_of_gates =
static_cast<size_t>(state.range(0));
26 bb::mock_circuits::construct_proof_with_specified_num_iterations<MegaProver>(
27 state, &bb::mock_circuits::generate_basic_arithmetic_circuit<MegaCircuitBuilder>, log2_of_gates);
30static void get_row_power_of_2(State& state)
noexcept
32 auto log2_of_gates =
static_cast<size_t>(state.range(0));
33 size_t gates = 1 << log2_of_gates;
35 for (
auto& poly : polynomials.get_all()) {
38 for (
auto _ : state) {
39 for (
size_t i = 0; i < gates; i++) {
40 benchmark::DoNotOptimize(polynomials.
get_row(i));
48static void construct_proof_megahonk_poseidon2_hash(State& state)
noexcept
50 const auto num_inputs =
static_cast<size_t>(state.range(0));
53 bb::generate_poseidon2_hash_test_circuit<MegaCircuitBuilder>(
builder, num_inputs);
55 info(
"construct_proof_megahonk_poseidon2_hash: num_inputs=",
62 bb::mock_circuits::construct_proof_with_specified_num_iterations<MegaProver>(
63 state, &bb::generate_poseidon2_hash_test_circuit<MegaCircuitBuilder>, num_inputs);
68BENCHMARK(construct_proof_megahonk_poseidon2_hash)
82 &stdlib::generate_ecdsa_verification_test_circuit<MegaCircuitBuilder>)
90BENCHMARK(construct_proof_megahonk_power_of_2)
95int main(
int argc,
char** argv)
99 ::benchmark::Initialize(&argc, argv);
100 if (::benchmark::ReportUnrecognizedArguments(argc, argv))
102 ::benchmark::RunSpecifiedBenchmarks();
103 ::benchmark::Shutdown();
105 std::cout <<
"\n=== Detailed BB_BENCH Profiling Stats ===\n";
std::shared_ptr< Napi::ThreadSafeFunction > instance
Structured polynomial class that represents the coefficients 'a' of a_0 + a_1 x .....
A container for polynomials handles used by the prover.
AllValuesType get_row(size_t row_idx) const
int main(int argc, char **argv)
BENCHMARK_CAPTURE(construct_proof_megahonk, ecdsa_verification, &stdlib::generate_ecdsa_verification_test_circuit< MegaCircuitBuilder >) -> Unit(kMillisecond)
GlobalBenchStatsContainer GLOBAL_BENCH_STATS
Entry point for Barretenberg command-line interface.
BENCHMARK(bench_commit_structured_random_poly< curve::BN254 >) -> Unit(benchmark::kMillisecond)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
void print_aggregate_counts_hierarchical(std::ostream &) const