File: timebothCMP.py

"""
run this script under 2.6, for its print statement; 
it spawns commands that test 2.6 and 3.0 separately,
and parses results to compute and display comparisons 
"""

import os
reportFull = False

py26 = r'C:\Python26\\'
py30 = r'C:\Python31\\'         # CHANGED

textfile   = 'large.txt'
binaryfile = 'large.bin'        # e.g., 'iTunes80164Setup.exe'

out26 = []
for line in os.popen('%s\python timeIO.py %s %s' % (py26, textfile, binaryfile)):
    print line,
    out26.append(line)

out30 = []
for line in os.popen('%s\python timeIO.py %s %s' % (py30, textfile, binaryfile)):
    print line,
    out30.append(line)

def parseLines(linelist):
    datalines  = [line.split('=>') for line in linelist if '=>' in line]
    return [(test.strip(), float(time)) for (test, time) in datalines]

combined = zip(parseLines(out26), parseLines(out30))

print '\n==Summary==\n'
for ((test26, time26), (test30, time30)) in combined:
    #assert test26 == test30
    if test26 != test30: print '**label diff:', test26, test30        # CHANGED
    timesSlower = time30 / time26
    percentTime = time26 / time30

    if reportFull:
        print '\n[%s]' % test26
        print '....2.6=%.5f\n....3.0=%.5f' % ( time26, time30)
        print '....3.1 times slower=%.3f' % timesSlower               # CHANGED
        print '....2.6 time percent=%.3f' % percentTime
    else:
        print '%-48s' % ('[%s]' % test26),
        print '=> 3.1 is %8.3f times slower' % timesSlower            # CHANGED



[Home page] Books Code Blog Python Author Train Find ©M.Lutz