Skip to content

Conversation

@TomAFrench
Copy link

Hey, thank you for including Noir in this work. I'm the Noir team lead at Aztec Labs.

One thing I noticed when reading your paper is that it seemed like you were benchmarking based on a pretty early build of Noir (v0.3.2). Both the Noir compiler and the proving system Barretenberg have gone through a lot of changes in these past 2 years so I thought it would be useful to update these benchmarks to give a better picture of how Noir performs today.

Prior to June 2024, nargo had Barretenberg embedded into it and the nargo prove command would combine compilation, witness generation and proving into a single command. We've since removed any proof generation/verification capabilities from nargo and instead this is done with barretenberg's standalone binary bb. I've updated the dockerfile to download the published releases of nargo and bb rather than building from source for simplicity.

As part of this update I've reworked how some of the benchmarks work in a way which I believe is in line with the other proving systems.

  • nargo check and nargo compile have been excluded from the benchmark as we don't measure rust compilation times for arkworks/gnark.
  • Noir can now measure the setup phase separately from the proving stage. Setup consists of the time taken to generate the verification key from a compiled build artifact which can then be reused.

One other thing to note is that our proving system has now changed so that bb produces ultrahonk proofs rather than turboplonk proofs as nargo did as of the release which you're currently benchmarking. If you're interested in more information on this change then I can put you in touch with some team members who work more closely on barretenberg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant