list.clear() missing?!?

Steven D'Aprano steve at REMOVETHIScyber.com.au
Tue Apr 11 21:36:36 EDT 2006


On Tue, 11 Apr 2006 19:15:18 +0200, Martin v. Löwis wrote:

> Felipe Almeida Lessa wrote:
>> I love benchmarks, so as I was testing the options, I saw something very
>> strange:
>> 
>> $ python2.4 -mtimeit 'x = range(100000); '
>> 100 loops, best of 3: 6.7 msec per loop
>> $ python2.4 -mtimeit 'x = range(100000); del x[:]'
>> 100 loops, best of 3: 6.35 msec per loop
>> $ python2.4 -mtimeit 'x = range(100000); x[:] = []'
>> 100 loops, best of 3: 6.36 msec per loop
>> $ python2.4 -mtimeit 'x = range(100000); del x'
>> 100 loops, best of 3: 6.46 msec per loop
>> 
>> Why the first benchmark is the slowest? I don't get it... could someone
>> test this, too?
> 
> In the first benchmark, you need space for two lists: the old one and
> the new one; 

Er, what new list? I see only one list, x = range(100000), which is merely
created then nothing done to it. Have I missed something?

I understood Felipe to be asking, why does it take longer to just create a
list, than it takes to create a list AND then do something to it? 



-- 
Steven.




More information about the Python-list mailing list