[pypy-dev] JITability

Maciej Fijalkowski fijall at gmail.com
Mon Jan 30 17:05:06 CET 2012


On Mon, Jan 30, 2012 at 5:56 PM, Benjamin Peterson <benjamin at python.org> wrote:
> 2012/1/30 Serhat Sevki Dincer <jfcgauss at gmail.com>:
>> Hi,
>> Suppose you have a function to validate local/international phone numbers
>> (one space between number groups, no space at start/end, no zero at start)
>> like:
>>
>> def validatePhone(v):
>>    if not (9 < len(v) < 19 and '0' < v[0]): # recall ' ' < '0'
>>        return False
>>
>>    for c in v:
>>        if '0' <= c <= '9':
>>            wasspace = False
>>        else:
>>            if c != ' ' or wasspace:
>>                return False
>>            wasspace = True
>>
>>    if wasspace:
>>        return False # last one
>>    return True
>>
>> Just out of curiosity, would JITability of this function change if I put
>> "wasspace = False" just before the loop ?
>
> It likely doesn't matter unless you expect phone numbers to be longer
> than 1000 chars.

Or you call the function more than once Benjamin.

Answering the *actual* question - I think it does not matter, and for
more than one reason in this particular case (on of those being that
even though bool objects are boxed, there are only two of them - True
and False)

Cheers,
fijal


More information about the pypy-dev mailing list