George Sakkis wrote:
> Michael wrote:
> 
>> Robert,
>>
>> Thanks to you and everyone else for the help. The "s.split('\x00',
>> 1)[0] " solved the problem.
> 
> And a probably faster version: s[:s.index('\x00')]

Yup. About twice as fast for at least one dataset:


In [182]: import timeit

In [183]: t1 = timeit.Timer("s.split('\\x00', 1)[0]", "s='abc\\x00'*256")

In [184]: t2 = timeit.Timer("s[:s.index('\\x00')]", "s='abc\\x00'*256")

In [192]: t1.repeat(3, 100000)
Out[192]: [0.68063879013061523, 0.67146611213684082, 0.66347002983093262]

In [193]: t2.repeat(3, 100000)
Out[193]: [0.35819387435913086, 0.35968899726867676, 0.37595295906066895]

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to