The Cost of Dynamism (was Re: Pyhon 2.x or 3.x, which is faster?)
BartC
bc at freeuk.com
Sat Mar 12 10:12:32 EST 2016
More information about the Python-list mailing list
Sat Mar 12 10:12:32 EST 2016
- Previous message (by thread): The Cost of Dynamism (was Re: Pyhon 2.x or 3.x, which is faster?)
- Next message (by thread): The Cost of Dynamism (was Re: Pyhon 2.x or 3.x, which is faster?)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 12/03/2016 12:10, Chris Angelico wrote: > On Sat, Mar 12, 2016 at 10:08 PM, BartC <bc at freeuk.com> wrote: >> Writing: a=65 generates this byte-code for the right-hand-side: >> >> LOAD_CONST 1 (65) An integer >> >> But writing instead: a=ord('A') generates this: >> >> LOAD_GLOBAL 0 (ord) >> LOAD_CONST 1 ('A') A string >> CALL_FUNCTION 1 > > I think the "non-issue" here is the difference between ASCII and > Unicode. Either way, there's no way to say "the integer with the > codepoint of this character" as a literal. But that's actually not > even all that necessary, because subscripting a text string yields > one-character strings - you almost never need the ordinals. That explains why you rarely use integers, if you prefer to use strings even when there is a choice! However, I was going to revise my benchmark to use strings instead of integers, to show how much slower they would be. But the program was 10% faster with strings! I don't know what to make of that. Clearly comparing an integer with an integer is a very fast operation, or ought to be, while comparing strings is much less efficient at machine level. So there's something funny going on. Either string operations are super-fast or integer operations are somehow crippled. Or maybe there so many other overheads, that the difference between strings and ints is lost. That doesn't explain why ints are slower though (and this was the case even on Python 2 where the 'long' type is not involved). -- Bartc
- Previous message (by thread): The Cost of Dynamism (was Re: Pyhon 2.x or 3.x, which is faster?)
- Next message (by thread): The Cost of Dynamism (was Re: Pyhon 2.x or 3.x, which is faster?)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list