Skip to content

Conversation

@nategraf
Copy link
Collaborator

@nategraf nategraf commented Sep 22, 2025

While looking into the performance of the OONI application, I realized that a naive MSM was producing better performance. It turns out that the naive MSM is better for small sizes, compared to the provided implementation of Pippenger's algorithm. This PR updates the MSM implementation to use a naive formula for inputs of size less than 16. 16 is chosen somewhat arbitrarily, by looking at the cross-over point in the (new) benchmark on my laptop.

@nategraf nategraf requested a review from mmaker September 22, 2025 03:11
@mmaker
Copy link
Collaborator

mmaker commented Sep 22, 2025

Idk how you got the idea of testing it against the naive impl, but image

@mmaker mmaker merged commit f182f1e into main Sep 22, 2025
8 checks passed
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