[Python-Dev] C Decimal - is there any interest?
Mateusz Rukowicz
mateusz.rukowicz at vp.pl
Tue Oct 16 20:37:33 CEST 2007
Mark Dickinson wrote:
>On 10/16/07, Fredrik Johansson <fredrik.johansson at gmail.com> wrote:
>
>
>>A more radical proposal would be to change Python's long type to use a
>>radix-10**n representation (Python 3000 or beyond?).
>>
>>
>
>Mightn't this produce significant (constant factor) slowdowns for long
>performance? As I understand it, the main problem with a base 10**n
>representation is that, for example, extracting the high and low limbs
>of the 2-limb result of a 1-limb by 1-limb multiplication requires a
>division, whereas for integers stored in binary that division can be
>replaced by bit operations.
>
>
>
>>An implementation
>>of decimal floating-point arithmetic on top of it, whether written in
>>C or pure Python (if some utility C functions such as for counting the
>>number of digits an integer were available), would be both
>>light-weight and efficient at high precision.
>>
>>
>
>Agreed. But it might be hard to sell a more efficient decimal module
>at the expense of slower integer arithmetic in core Python.
>
>
>
My 2 cents -- integer division and modulo (needed for 10**n radix) is so
slow, that in some extremal cases algorithm may slow down by a factor of
4-5, so I guess it's not an option. Not to mention binary logical
operations.
More information about the Python-Dev
mailing list