int() 24 times slower then long() in Python 2.3
paolo veronelli
paolo_veronelli at yahoo.it
Wed Jul 14 07:28:01 EDT 2004
On Wed, 14 Jul 2004 11:08:16 +0100, James Henderson
<james at logicalprogression.net> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Wednesday 14 July 2004 8:32 am, paolo veronelli wrote:
>> On 13 Jul 2004 14:34:25 -0700, Paul Rubin
>> <"http://phr.cx"@NOSPAM.invalid>
>>
>> wrote:
>> > "Nick Smallbone" <nick at nick8325.freeserve.co.uk> writes:
>> >> > IMO the speed at which a bunch of invalid conversions are
>> >> > executed means nothing at all. Could you come up with an example
>> >> > that show the same symptoms in a meaningful context?
>> >>
>> >> What do you mean? bbbbaaaa is a hex number.
>> >>
>> >> >>> int('bbbbaaaa', 16)
>> >>
>> >> 3149638314L
>> >
>> > It's not an int. It has to attempt to convert to int, trap the error
>> > and recover from it, and then convert to a long.
>>
>> I don't undersand the meaning of int()
>> If I want an int() (two bytes?) I want two bytes.It should truncate.If
>> the
>> result is the same with long() a part from the warning
>> I think int() is unmeaningfull.Transparency is away from warnings.
>> This python is saying I used the wrong function and there at least two
>> cases:
>> I have wrong results.
>> He is doing my businness.
>>
>> IMHO I want wrong results.
>>
>
> I think you should look at PEP 237 "Unifying Long Integers and Integers"
> - it
> may even reassure you. As Peter Hansen has already hinted in reply to
> another of your messages, Python is in the process of unifying longs and
> ints.
>
> It used to be that calling int() on a big number gave an exception -
> perhaps a
> more Pythonic version of your requested giving the wrong result - and now
> that it doesn't I suppose there is a sense in which the current
> distinction
> between ints and longs is "unmeaningful" from the user's point of view
> (it's
> not meaningless under the hood of course). According to the PEP the
> decision
> to keep two types was that it:
>
> is far easier to implement, is backwards
> compatible at the C API level, and in addition can be implemented
> partially as a transitional measure.
>
> Perhaps you thing that ints and longs should not be unified but I won't
> start
> arguing till you come out and say it. :)
>
> James
I don't want to change any way the base of PEP 237,but this kind of
performance
flaw is a problem and it's possible to be the first of a long list.
It's good to know, always ,why we pay a price.Better an Error then a ghost
warning,which
is itself the cause of the flaw.
Python is fast ,this is why I use it.Anyone has a different goal in using
it.
Regards Paolino
--
....lotta dura per la verdura
More information about the Python-list
mailing list