Giter Site home page Giter Site logo

Comments (3)

yelhousni avatar yelhousni commented on July 20, 2024

Hi @jon-chuang, I indeed got confused with the naming convention. BenchmarkG1AffineDouble is indeed in Jacobian coordinates and the reported timings for gurvy double are in extended Jacobian. I will update the corresponding data.

To be fair to all libs, I am updating the post as follows:

  • correct arkworks-rs timings following a assembly bug (arkworks-rs/algebra#192)
  • add relic assembly preset (x64-pbc-bls12-381)
  • update kilic/bls12-381 after recent imporovements
  • update constantine after recent imporovements
  • add iden3/ffiasm to the benchmark

Thank you for opening the issue! Let me know if you notice anything else.

from gnark-crypto.

jon-chuang avatar jon-chuang commented on July 20, 2024

Hi @yelhousni thanks!

I'm not too familiar with the extended jacobian coordinates, do you know how they are used in gurvy specifically? Meaning, are they used in scalar mul or msm for instance? Just curious as they seem to provide some nice speed results, I was wondering if it's been tested to work well as part of bigger routines.

Currently we are making some simple changes to improve performance across the board arkworks-rs/algebra#205 prompted by these benchmarks, it would be nice to include these improvements while measuring the asm for arkworks.🙏

Another issue is one should use the feature "n_fold" for more accurate benchmarking... The current benchmark framework is not very good for ns-level measurement and hopefully we will be changing it soon.

from gnark-crypto.

yelhousni avatar yelhousni commented on July 20, 2024

Extended Jacobian coordinates are indeed used in gurvy for MSM.
Let me know when you finish improving arkworks-rs and I will update the benchmark.
I am using n_fold feature for cargo bench.

from gnark-crypto.

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.