[Tutor] primes (generator)
Sean Perry
shaleh at speakeasy.net
Sun Mar 20 22:39:08 CET 2005
Gregor Lingl wrote:
>
> The following variation of your sieve, using
> extended slice assignment seems to
> be sgnificantly faster. Try it out, if you like.
>
Here are the numbers:
Primes 1 - 1,000,000 timing:
extendedSliceSieve: 0.708388 seconds
listPrimes: 0.998758 seconds
karlSieve: 1.703553 seconds
primeConciseOptimized: 5.133922 seconds
setSieve: 7.564576 seconds
primeConcise: 1644.683214 seconds --> 27 minutes 24 seconds
if __name__ == '__main__':
# setup timers as a list of tuples (name, timeit instance)
results = []
longest = 0
for t in timers:
result = t[1].timeit(1)
longest = max(longest, len(t[0]))
results.append((t[0], result))
results.sort(lambda x, y: cmp(x[1], y[1]))
print "Primes 1 - 1,000,000 timing:"
format_str = "%%%ds: %%f seconds" % longest
for i in results:
print format_str % i
More information about the Tutor
mailing list