Programming with Python


A few months ago, I was trying to learn the Python programming language. I learned a little bit, but lost interest. Today I came across a program I had written. The program prints 100 times the numbers 1 to 1,000,000, using two different methods: Range and Xrange. These are two different looping methods in Python (I think with the release of Python 3.0 that Xrange no longer exists). The program measures how long it takes to print those numbers and averages the 100 runs of each method to determine which is faster, Range or Xrange. The whole thing is kind of pointless, other than it was something I wanted to do, and it gave me a way to learn some Python. Anyway, here is the code:

###################
# averagetimecount.py
# a program to test the average speed of xrange loops vs. range loops in Python
# by Daniel Veazey
# 20 Oct 2009
# version 1.0
# released under the GNU General Public License v3 http://www.gnu.org/licenses/gpl.html
###################
import time
add_time_xrange = 0
for xrange_run in xrange(100):
    time_a = time.time()
    for x in xrange (1000000):
        print x
    time_b = time.time()
    add_time_xrange = add_time_xrange + (time_b - time_a)
average_time_xrange = add_time_xrange / 100
add_time_range = 0
for range_run in xrange(100):
    time_a = time.time()
    for x in range (1000000):
        print x
    time_b = time.time()
    add_time_range = add_time_range + (time_b - time_a)
average_time_range = add_time_range / 100
print "Average time for xrange: " + str(average_time_xrange)
print "Average time for range:  " + str(average_time_range)
if average_time_xrange < average_time_range:
    print "On average, xrange was faster by " + str(average_time_range - average_time_xrange) + " seconds."
if average_time_range < average_time_xrange:
    print "On average, range was faster by " + str(average_time_xrange - average_time_range) + " seconds."
if average_time_range == average_time_xrange:
    print "Xrange and range had equal average times."

Related posts:

  1. Working on the bike problem with Python
  2. Practical programming
  3. Python Sudoku solver
  4. Python, in bitesize chunks
  5. The bike saga continues

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>