[Python-Dev] check for PyUnicode_READY look backwards (original) (raw)
Scott Dial scott+python-dev at scottdial.com
Sun Oct 16 06:12:04 CEST 2011
- Previous message: [Python-Dev] check for PyUnicode_READY look backwards
- Next message: [Python-Dev] [Python-checkins] cpython: When expandtabs() would be a no-op, don't create a duplicate string
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/7/2011 7:13 PM, Terry Reedy wrote:
On 10/7/2011 10:06 AM, Nick Coghlan wrote:
FWIW, I don't mind whether it's "< 0" or "== -1", so long as there's a comparison there to kick my brain out of Python boolean logic mode. Is there any speed difference (on common x86/64 processors and compilers)? I would expect that '< 0' should be optimized to just check the sign bit and 'if n < 0' to 'load n; jump-non-negative'.
There are several different ways to express those operators depending on the context. If "n" is worth moving into a register, then "<0" will get to use a "test" and it's fewer instruction bytes than a "cmp", but otherwise, it is no better. So, there is a very special case where "<0" is better, but I think you'd be hard-pressed to measure it against the noise.
-- Scott Dial scott at scottdial.com
- Previous message: [Python-Dev] check for PyUnicode_READY look backwards
- Next message: [Python-Dev] [Python-checkins] cpython: When expandtabs() would be a no-op, don't create a duplicate string
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]