CSC352ParseExecutionTimes.py
From DftWiki
#! /usr/bin/python
# D. Thiebaut
# Beware: undocumented code!
# use it to parse output of shell file testing threaded and multiprocessing versions
# of N-Queens program
#
threaded ="""
10
user time : 0.0252568721771 sec
real0m0.084s
user0m0.032s
sys0m0.020s
11
user time : 0.0279400348663 sec
real0m0.058s
user0m0.044s
sys0m0.016s
12
user time : 0.0994839668274 sec
real0m0.130s
user0m0.104s
sys0m0.044s
13
user time : 0.114033937454 sec
real0m0.144s
user0m0.124s
sys0m0.032s
14
user time : 0.641546010971 sec
real0m0.672s
user0m0.588s
sys0m0.192s
15
user time : 0.644017934799 sec
real0m0.677s
user0m0.600s
sys0m0.164s
16
user time : 2.75060296059 sec
real0m2.781s
user0m2.268s
sys0m1.020s
17
user time : 2.59065508842 sec
real0m3.122s
user0m2.196s
sys0m0.940s
18
user time : 5.72952103615 sec
real0m6.546s
user0m4.976s
sys0m2.180s
19
user time : 5.43741297722 sec
real0m6.157s
user0m4.700s
sys0m2.028s
20
user time : 6.65264201164 sec
real0m7.801s
user0m6.088s
sys0m2.648s
21
user time : 10.6328599453 sec
real0m13.730s
user0m10.677s
sys0m4.984s
22
user time : 10.6172368526 sec
real0m11.162s
user0m8.661s
sys0m3.948s
23
user time : 8.23051285744 sec
real0m9.224s
user0m7.032s
sys0m3.372s
24
user time : 17.2248859406 sec
real0m17.784s
user0m13.645s
sys0m6.784s
25
user time : 14.7609248161 sec
real0m15.848s
user0m12.485s
sys0m5.844s
"""
multiproc = """
10
real0m0.090s
user0m0.068s
sys0m0.028s
11
real0m0.091s
user0m0.060s
sys0m0.044s
12
real0m0.108s
user0m0.088s
sys0m0.048s
13
real0m0.100s
user0m0.084s
sys0m0.032s
14
real0m0.338s
user0m0.464s
sys0m0.152s
15
real0m0.225s
user0m0.280s
sys0m0.112s
16
real0m0.665s
user0m0.840s
sys0m0.256s
17
real0m0.443s
user0m0.660s
sys0m0.144s
18
real0m2.855s
user0m4.772s
sys0m0.808s
19
real0m1.388s
user0m2.180s
sys0m0.396s
20
real0m2.252s
user0m3.580s
sys0m0.748s
21
real0m4.211s
user0m6.972s
sys0m1.368s
22
real0m3.794s
user0m6.348s
sys0m1.096s
23
real0m2.619s
user0m4.128s
sys0m0.728s
24
real0m15.962s
user0m27.042s
sys0m4.736s
25
real0m17.833s
user0m30.098s
sys0m5.316s
"""
print "multiprocessing"
lines = multiproc.split( "\n" )
for line in lines:
#print line
if len( line )<=1:
continue
if line[0] in ['0', '1', '2']:
N = int( line.strip() )
continue
if line.find( "real" )!= -1:
time = line[4:].replace( 'm', ' ' )
time = time.replace( 's', ' ')
words = time.strip().split()
time = int( words[0] )*60 + float( words[1] )
print "%d, %1.3f" % ( N, time )
print "threaded"
lines = threaded.split( "\n" )
for line in lines:
#print line
if len( line )<=1:
continue
if line[0] in ['0', '1', '2']:
N = int( line.strip() )
continue
if line.find( "real" )!= -1:
time = line[4:].replace( 'm', ' ' )
time = time.replace( 's', ' ')
words = time.strip().split()
time = int( words[0] )*60 + float( words[1] )
print "%d, %1.3f" % ( N, time )
# D. Thiebaut
# Beware: undocumented code!
# use it to parse output of shell file testing threaded and multiprocessing versions
# of N-Queens program
#
threaded ="""
10
user time : 0.0252568721771 sec
real0m0.084s
user0m0.032s
sys0m0.020s
11
user time : 0.0279400348663 sec
real0m0.058s
user0m0.044s
sys0m0.016s
12
user time : 0.0994839668274 sec
real0m0.130s
user0m0.104s
sys0m0.044s
13
user time : 0.114033937454 sec
real0m0.144s
user0m0.124s
sys0m0.032s
14
user time : 0.641546010971 sec
real0m0.672s
user0m0.588s
sys0m0.192s
15
user time : 0.644017934799 sec
real0m0.677s
user0m0.600s
sys0m0.164s
16
user time : 2.75060296059 sec
real0m2.781s
user0m2.268s
sys0m1.020s
17
user time : 2.59065508842 sec
real0m3.122s
user0m2.196s
sys0m0.940s
18
user time : 5.72952103615 sec
real0m6.546s
user0m4.976s
sys0m2.180s
19
user time : 5.43741297722 sec
real0m6.157s
user0m4.700s
sys0m2.028s
20
user time : 6.65264201164 sec
real0m7.801s
user0m6.088s
sys0m2.648s
21
user time : 10.6328599453 sec
real0m13.730s
user0m10.677s
sys0m4.984s
22
user time : 10.6172368526 sec
real0m11.162s
user0m8.661s
sys0m3.948s
23
user time : 8.23051285744 sec
real0m9.224s
user0m7.032s
sys0m3.372s
24
user time : 17.2248859406 sec
real0m17.784s
user0m13.645s
sys0m6.784s
25
user time : 14.7609248161 sec
real0m15.848s
user0m12.485s
sys0m5.844s
"""
multiproc = """
10
real0m0.090s
user0m0.068s
sys0m0.028s
11
real0m0.091s
user0m0.060s
sys0m0.044s
12
real0m0.108s
user0m0.088s
sys0m0.048s
13
real0m0.100s
user0m0.084s
sys0m0.032s
14
real0m0.338s
user0m0.464s
sys0m0.152s
15
real0m0.225s
user0m0.280s
sys0m0.112s
16
real0m0.665s
user0m0.840s
sys0m0.256s
17
real0m0.443s
user0m0.660s
sys0m0.144s
18
real0m2.855s
user0m4.772s
sys0m0.808s
19
real0m1.388s
user0m2.180s
sys0m0.396s
20
real0m2.252s
user0m3.580s
sys0m0.748s
21
real0m4.211s
user0m6.972s
sys0m1.368s
22
real0m3.794s
user0m6.348s
sys0m1.096s
23
real0m2.619s
user0m4.128s
sys0m0.728s
24
real0m15.962s
user0m27.042s
sys0m4.736s
25
real0m17.833s
user0m30.098s
sys0m5.316s
"""
print "multiprocessing"
lines = multiproc.split( "\n" )
for line in lines:
#print line
if len( line )<=1:
continue
if line[0] in ['0', '1', '2']:
N = int( line.strip() )
continue
if line.find( "real" )!= -1:
time = line[4:].replace( 'm', ' ' )
time = time.replace( 's', ' ')
words = time.strip().split()
time = int( words[0] )*60 + float( words[1] )
print "%d, %1.3f" % ( N, time )
print "threaded"
lines = threaded.split( "\n" )
for line in lines:
#print line
if len( line )<=1:
continue
if line[0] in ['0', '1', '2']:
N = int( line.strip() )
continue
if line.find( "real" )!= -1:
time = line[4:].replace( 'm', ' ' )
time = time.replace( 's', ' ')
words = time.strip().split()
time = int( words[0] )*60 + float( words[1] )
print "%d, %1.3f" % ( N, time )
