[Tutor] Can I speed this up?
Dick Moores
rdm at rcblue.com
Tue Oct 12 10:27:19 CEST 2004
I'd greatly appreciate some tutors taking a look at my factorIntegers.py
at <http://www.rcblue.com/Python/factorIntegers-forWeb.py>. I've worked
hard to make it as efficient as possible, but suspect there is more that
could be done. Or maybe I'm completely on the wrong track as far as speed
is concerned.
I've made use of the program to compute prime factors for integers in the
5 quintillion range. Please see
<http://www.rcblue.com/Python/IntegerFactorsForWeb.txt>
for some results from the latest revision of factorIntegers.py.
You'll note that in almost all cases the primes take the longest time to
compute (29 minutes and change). But note also the anomalies listed at
the top of the script. Is there something I've missed that would
eliminate these? Or are these to be expected, given the nature of the
prime factors of these integers?
I also did some computing in the 400 trillion range, and found a bunch of
these anomalies. The worst I could find was 42 seconds (primes took 11
seconds):
400,000,000,040,471 = 19502713*20509967
42 seconds
400,000,000,040,507 = 400000000040507 is PRIME
11 seconds
Also, of course, I'd appreciate criticism (or even deserved praise) of
anything that catches your wise and experienced eyes.
BTW the line drawn in isPrime(n) at 4,611,600,000,000,000,000 is for my
computer and operating system. Yours may require a different line. See
the "large number question" Tutor thread of 9/25 and 9/26.
Thanks, tutors.
Dick Moores
rdm at rcblue.com
Python 2.3.4, Win XP
"Few persons have sufficient wisdom to prefer censure, which is useful,
to praise which deceives them."
- Francois De La Rochefoucauld
More information about the Tutor
mailing list