Closed andyleiserson closed 1 week ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 93.53%. Comparing base (
4e0608e
) to head (fa44ad0
). Report is 6 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
🚨 Try these New Features:
Draft run at aca8ca5: https://draft-mpc.vercel.app/query/view/far-image2024-11-15T2016. 2:27. This is a bit slower than the run with recursion factor of 8 (still much faster than baseline which I think is 3:25). However, it appears that this difference goes away when the additional optimization in #1437 is added. It is possible that a fully optimized implementation of λ = 8 with lookup table for Lagrange interpolation outputs would be the fastest of all implementations, but I am not sure it is worth the effort to do that right now. (I made a comparison of all the draft results here: https://docs.google.com/spreadsheets/d/1BG3DNnjb2dRzQ2VOLehKIOTn8QsYk1KkkQrZagYuWks/edit)
So I propose to take this change, and take the change to use a lookup table for Lagrange interpolation outputs of the first level proof.
One more draft run at 7a7bdb1: https://draft-mpc.vercel.app/query/view/alien-fuse2024-11-16T2033, 2:23
We can also try using λ = 4 for the first proof with λ = 8 for the other proofs. I doubt it will make much of a difference, but it's an easy experiment.
Cleaned up version of #1407.
Performance was similar for recursion factors of 4 and 8. However, a recursion factor of 4 (at least for the first proof) makes it easier to implement the lookup table for Lagrange interpolation output in #1437, so that's what I've used here.
I change the calculation of proof batches to adjust downwards (rather than upwards) from the target to a power of two, so that there doesn't need to be a large margin between TARGET_PROOF_SIZE and the limit defined by MAX_PROOF_RECURSION.
I also change the names
LargeProofGenerator
andSmallProofGenerator
toFirstProofGenerator
andCompressedProofGenerator
.