lambdaworks offers implementations for both SNARKs and STARKs provers, along with the flexibility to leverage their individual components for constructing customized SNARKs.
There are a series of optimizations that can be applied to MSM that are not leveraged right now. The following can be implemented and benched, with the fastest setted to be used as the default one:
[ ] Constantine tricks for high core machines, see their #277, code, and docs. Also the following gist. This related halo2 issue can also be helpful
@MauroToscano we would like to contribute some optimization to MSM implementation based on SOA (@Strohy will be working on this). Is it okay we open up a couple of PRs?
There are a series of optimizations that can be applied to MSM that are not leveraged right now. The following can be implemented and benched, with the fastest setted to be used as the default one: