Giter Club home page Giter Club logo

plonkish's Introduction

Plonkish

Research focused repository on plonkish arithmetization.

Benchmark

Proof systems

On different proof systems with KZG polynomial commitment scheme.

Usage: cargo bench --bench proof_system -- [OPTIONS]

Options:
  --system <SYSTEM>    Proof system(s) to run. [possible values: hyperplonk, halo2, espresso_hyperplonk]
  --circuit <CIRCUIT>  Circuit to run. [possible values: vanilla_plonk, aggregation]
  --k <K>              (Range of) log number of rows.

For example to compare different proof systems on vanilla PLONK, run:

cargo bench --bench proof_system -- \
    --system hyperplonk \
    --system halo2 \
    --system espresso_hyperplonk \
    --circuit vanilla_plonk \
    --k 20..24

Then the proving time (in millisecond) will be written to target/bench/{hyperplonk,halo2,espresso_hyperplonk} respectively.

To further see cost breakdown of proving time without witness collecting time, run the same bench commanad with an extra cargo flag --features timer, then pipe the output to plotter cargo run plotter -- -, and the result will be rendered in target/bench. For example:

cargo bench --bench proof_system --features timer -- ... \
  | cargo run plotter -- -

Note that plotter requires gnuplot installed already.

Acknowledgements

plonkish's People

Contributors

han0110 avatar qwang98 avatar kilic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.