-
Notifications
You must be signed in to change notification settings - Fork 58
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
Figure out why Kilic is so slow #37
Comments
A naive benchmark shows no significant difference, kilic even being faster with 256: kilic:
herumi:
It looks like kilic is much faster than herumi when the nodes are really full, and seems to be even more pronounced when nodes are wider. So far comparisons only occured on a width of 256, I'll run benchmarks with width 1024. |
One explanation could be that we set the "lincomb" threshold based on herumi's numbers, and kilic could work with an ever lower/higher threshold. @s1na do you remember which bignum library you used to find a threshold of 110? |
As expected, when comparing the time taken to translate a mainnet trie into a verkle tree, it is noticeably faster but still 40% slower. ~10h(herumi) vs ~14h (kilic). |
Running the benchmarks on an AWS instance x5.large herumi:
kilic:
Building the trie with kilic is noticeably slower, however calculating proofs / root commitments is noticeably faster 🤔 |
We are no longer using KZG or BLS, closing this tracker issue. |
A mainnet tree conversion with kilic is ~2x as slow as with herumi. I doubt it's entirely due to the library being slower. This is a tracking issue to figure out if the problem is indeed on the kilic side or if it's based on our usage of it.
The text was updated successfully, but these errors were encountered: