Mark Dickinson wrote: >I'm almost sure that adding 40000 digit numbers together is not what >Decimal was intended to be used for, but it still seems unreasonable >that it takes almost 5 seconds to do such an addition. The reason for >the quadratic behaviour is that almost all the arithmetic routines in >decimal.py, at some point, convert the coefficient of their >argument(s) from a tuple of digits to a Python integer, and then do >the reverse conversion to get a Decimal result; both of these >conversions (tuple of digits <-> integer) take time quadratic in the >size of the tuple/integer. This means that multiplication of >Decimals is also quadratic time, even though it makes use of Python's >subquadratic Karatsuba multiplication. > > Oh right, my mistake :> -- I looked at python code, but I forgot about conversion ;).
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com