if number is 1-2, 4 or 6-8 or 12-28, 30, 32...

Cliff Wells logiplexsoftware at earthlink.net
Tue Jun 11 20:20:59 EDT 2002


On Tue, 11 Jun 2002 17:15:53 -0700
Cliff Wells wrote:
[snip]

> # ------------
> ranges = createRanges(10000)
> 
> print "Initialize Range:",
> t1 = time()
> r = Ranges(ranges)
> print time() - t1
> 
> t2 = time()
> print "Range():",
> for i in range(0, 100, 3):
>     r.has(i)
> t = time()
> print t - t2, "total", t - t1
> 
> t = time()
> print "isin():",
> for i in range(0, 100, 3):
>     isin(i, ranges)
> print time() - t
> 
> 
> ####################################
> Initialize Range: 0.331060051918
> Range(): 0.00136804580688 total 0.33601808548
> isin(): 4.98800003529

Oops.  This is a better test as it covers the entire range (the first test was
actually weighted towards isin()):

ranges = createRanges(10000)

print "Initialize Range:",
t1 = time()
r = Ranges(ranges)
print time() - t1

t2 = time()
print "Range():",
for i in range(0, 10000, 100):
    r.has(i)
t = time()
print t - t2, "total", t - t1

t = time()
print "isin():",
for i in range(0, 10000, 100):
    isin(i, ranges)
print time() - t

#####################
Initialize Range: 0.323083996773
Range(): 0.00372695922852 total 0.331498980522
isin(): 12.9388070107

-- 
Cliff Wells, Software Engineer
Logiplex Corporation (www.logiplex.net)
(503) 978-6726 x308  (800) 735-0555 x308





More information about the Python-list mailing list