Giter Site home page Giter Site logo

Comments (4)

ebfull avatar ebfull commented on June 24, 2024

I've created a test framework for simulating synthesis and getting statistics like this. The bellman API allows it to be implemented independently from this library:

https://github.com/zcash-hackworks/sapling-crypto/tree/master/src/circuit/test

The kinds of checks you're mentioning can be done using this, it even has constraint system hashing for integrity checking (useful for refactoring circuit code without intending to change its contents) and some printing of the constraint system and other stuff.

from bellman.

Pratyush avatar Pratyush commented on June 24, 2024

I've seen (and used!) your TestConstraintSystem, and it's great for finding information about the ConstraintSystem in an offline setting (like in tests). But my usecase for these functions would be print this information at runtime, for example during setup or proving, and the existing constraint system interface doesn't provide that information at runtime. But perhaps since we're going to implement GM17 anyway we can make our implementation provide that information. Thanks!

from bellman.

ebfull avatar ebfull commented on June 24, 2024

Hm, I see what you mean. Maybe we can do this, but I have another idea.

I also wanted to attach something to the API which allowed you to pass in an abstract Profiler kind of object. The object would be given timings and other information for various operations, for benchmarking and optimization both of bellman and your own circuits. If you pass in () for the profiler, there's no runtime cost. If you pass in some kind of profiler tool, it'll have access to a lot of useful stats.

I suppose that could be hooked up to get info about the constraint system also!

from bellman.

Pratyush avatar Pratyush commented on June 24, 2024

That's a good idea, it sounds more general-purpose and informative! Let me know if I can help with implementing it.

from bellman.

Related Issues (20)

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.