1#include <benchmark/benchmark.h>
7using namespace benchmark;
16Builder generate_trace(
size_t target_num_gates)
20 using Fr =
typename G1::Fr;
24 typename G1::element
a = generators[0];
25 typename G1::element
b = generators[1];
31 size_t num_iterations = target_num_gates / 163;
32 for (
size_t _ = 0; _ < num_iterations; _++) {
33 op_queue->add_accumulate(
a);
34 op_queue->mul_accumulate(
a, x);
35 op_queue->mul_accumulate(
b, x);
36 op_queue->mul_accumulate(
b, y);
37 op_queue->add_accumulate(
a);
38 op_queue->mul_accumulate(
b, x);
39 op_queue->eq_and_reset();
47void eccvm_generate_prover(State& state)
noexcept
50 size_t target_num_gates = 1 <<
static_cast<size_t>(state.range(0));
51 for (
auto _ : state) {
58void eccvm_prove(State& state)
noexcept
61 size_t target_num_gates = 1 <<
static_cast<size_t>(state.range(0));
65 for (
auto _ : state) {
70BENCHMARK(eccvm_generate_prover)->Unit(kMillisecond)->DenseRange(12, CONST_ECCVM_LOG_N);
71BENCHMARK(eccvm_prove)->Unit(kMillisecond)->DenseRange(12, CONST_ECCVM_LOG_N);
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
NativeTranscript Transcript
ECCVMProof construct_proof()
Entry point for Barretenberg command-line interface.
BENCHMARK(vector_of_evaluations) -> DenseRange(15, 21) ->Unit(kMillisecond) ->Iterations(1)
constexpr std::span< const typename Group::affine_element > get_precomputed_generators()
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
static field random_element(numeric::RNG *engine=nullptr) noexcept