ethnum-rs
ethnum-rs copied to clipboard
Replaced some overflowing muls with wrapping muls
overflowing_muls are slow, and likely will be even after #21 is mixed. This pull request makes the number of overflowing_muls in all pow functions O(1) with exp. Also, I256::checked_mul now uses umulc rather than imulc.
I didn't benchmark the pows, so I was conservative with what I tried to optimize. If pow is being called a lot with high exponents, it might be worth taking a closer look.