ethnum-rs icon indicating copy to clipboard operation
ethnum-rs copied to clipboard

Replaced some overflowing muls with wrapping muls

Open NCGThompson opened this issue 2 years ago • 0 comments

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.

NCGThompson avatar Dec 03 '23 01:12 NCGThompson