Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: use py-arkworks's multi-exp method inside of g1_lincomb and g2_lincomb #3714

Merged
merged 17 commits into from
Apr 23, 2024

Conversation

kevaundray
Copy link
Contributor

@kevaundray kevaundray commented Apr 23, 2024

Motivation for this PR is to reduce CI times. Switch from double-and-add to the bucket method.

@kevaundray kevaundray force-pushed the kw/use-optimized-bls-msm branch from 733a255 to 640675f Compare April 23, 2024 11:44
@kevaundray kevaundray changed the title chore: use py-arkworks's multi-exp method inside of g1_lincomb chore: use py-arkworks's multi-exp method inside of g1_lincomb and g2_lincomb Apr 23, 2024
@kevaundray
Copy link
Contributor Author

Copying @hwwhww previous profiling information:

#3713 (comment)

@kevaundray
Copy link
Contributor Author

Tentatively, after this PR, the bottleneck switches to divide_polynomial_coefff -- there is a separate PR open to optimize that if we need to.

combined

@kevaundray
Copy link
Contributor Author

Note that most of G1lincomb is spent deserializing -- we can likely also optimize this in the future with either an API change or just a batch deserialization method as the bottleneck in deserialisation is likely the sqrt

@kevaundray
Copy link
Contributor Author

Going to deduplicate the methods in bls.py

@kevaundray kevaundray changed the title chore: use py-arkworks's multi-exp method inside of g1_lincomb and g2_lincomb chore: use py-arkworks's multi-exp method inside of g1_lincomb and g2_lincomb Apr 23, 2024
Copy link
Contributor

@hwwhww hwwhww left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm 🚀🚀🚀

specs/deneb/polynomial-commitments.md Show resolved Hide resolved
@ralexstokes ralexstokes merged commit b13e03e into ethereum:dev Apr 23, 2024
28 checks passed
@kevaundray kevaundray deleted the kw/use-optimized-bls-msm branch April 23, 2024 18:21
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.

3 participants