integer multiplication

Terry Reedy tjreedy at udel.edu
Mon Apr 4 18:41:31 CEST 2011


On 4/4/2011 1:51 AM, Paul Rubin wrote:

> I didn't realize Python used Karatsuba.  The main issue is probably that
> Python uses a straightforward portable C implementation that's not
> terribly efficient,

but relatively easy for a couple of people to maintain. For (C)Python 3, 
which no longer has a C int type, I believe changes were focused on 
making calculations with small integers almost as fast as in 2.x.

(I believe that retaining two implementations internally was considered 
but rejected. Could be wrong.)

 >If you look for the gmpy module, it gives you a way to use gmp from
 >Python.  In crypto code (lots of 1024 bit modular exponentials) I think
 >I found gmpy to be around 4x faster than Python longs.

For specialized use, specialized gmpy is the way to go.

I am curious how gmpy compares to 3.x ints (longs) with small number 
calculations like 3+5 or 3*5.


-- 
Terry Jan Reedy




More information about the Python-list mailing list