Re: list.clear() missing?!?
- From: Steven D'Aprano <steve@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 12 Apr 2006 21:09:23 +1000
On Wed, 12 Apr 2006 00:33:29 -0700, Serge Orlov wrote:
Felipe Almeida Lessa wrote:
Em Qua, 2006-04-12 às 11:36 +1000, Steven D'Aprano escreveu:
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?
He's talking about the garbage collector.
To be exact the reason for two array is timeit.py. It doesn't place the
code to time into a separate namespace but injects it into a for loop,
so the actual code timed is:
for _i in _it:
x = range(100000)
and that makes two arrays with 100.000 items exist for a short time
starting from second iteration.
But that is precisely the same for the other timeit tests too.
for _i in _it:
x = range(100000)
del x[:]
etc.
The question remains -- why does it take longer to do X than it takes to
do X and then Y?
--
Steven.
.
- Follow-Ups:
- Re: list.clear() missing?!?
- From: Duncan Booth
- Re: list.clear() missing?!?
- References:
- list.clear() missing?!?
- From: Ville Vainio
- Re: list.clear() missing?!?
- From: Steven Bethard
- Re: list.clear() missing?!?
- From: Felipe Almeida Lessa
- Re: list.clear() missing?!?
- From: "Martin v. Löwis"
- Re: list.clear() missing?!?
- From: Steven D'Aprano
- Re: list.clear() missing?!?
- From: Felipe Almeida Lessa
- Re: list.clear() missing?!?
- From: Serge Orlov
- list.clear() missing?!?
- Prev by Date: Re: Can't connect to SimpleXMLRPCServer. Help needed.
- Next by Date: Re: About classes and OOP in Python
- Previous by thread: Re: list.clear() missing?!?
- Next by thread: Re: list.clear() missing?!?
- Index(es):
Relevant Pages
|