-
Notifications
You must be signed in to change notification settings - Fork 189
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
refactor: clean up SIS, placeholder #596
Conversation
This reverts commit 5ed9c48.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, not very important but why didn't you use the iter
package ?
|
Description
Clean up
sis
package, +simplify usage. Improves perf, sister PR inlinea-monorepo
.What this PR does
Write([]byte) / Sum() []byte
toHash(v, res []fr.Element)
LimbIterator
andVectorIterator
. That also enables to define the core logic in this package only for matrix hashes as defined inlinea-monorepo
(which can now instantiate a specializedMatrixIterator
)Summary by copilot
This pull request includes various changes to the
ecc/bls12-377/fr/fft/fft.go
file to optimize and improve the FFT implementation, as well as updates to theecc/bls12-377/fr/sis/sis_test.go
file to enhance the test coverage and performance. The most important changes include the optimization of FFT operations, the addition of new kernel functions, and improvements to the test cases.FFT Optimizations and Improvements:
fftOptions
function to improve performance for small FFTs. (ecc/bls12-377/fr/fft/fft.go
) [1] [2]ecc/bls12-377/fr/fft/fft.go
) [1] [2] [3]New Kernel Functions:
kerDIFNP_64
andkerDITNP_64
to handle specific FFT sizes more efficiently. (ecc/bls12-377/fr/fft/fft.go
)Test Case Enhancements:
ecc/bls12-377/fr/sis/sis_test.go
) [1] [2]ecc/bls12-377/fr/sis/sis_test.go
) [1] [2]Other Changes:
ecc/bls12-377/fr/sis/sis_test.go
) [1] [2] [3]These changes collectively improve the performance, readability, and maintainability of the FFT implementation and its associated tests.
Benchmarks (on c7a / hp7a)
Note that when degree == 64, we have a special unrolled FFT, like before.