5 import matplotlib.pyplot
as plt
8 def fFileExist(filename):
9 '''Test if file exists'''
12 oFile = open(filename,
'r')
20 def read(optlevel, b, name):
21 '''read time from out/*.out and save plots to plots/. The cut deletes obviously wrong times.'''
24 for i
in range(0, len(optlevel)):
25 if fFileExist(
'out/' + optlevel[i - z] +
'.out') == 0:
29 value = [0] * len(optlevel)
30 sigma = [0] * len(optlevel)
31 valuenormed = [0] * len(optlevel)
32 sigmanormed = [0] * len(optlevel)
33 n = [0] * len(optlevel)
34 t = list(range(0, len(optlevel)))
36 fobj = open(
'out/' + optlevel[i] +
'.out',
'r')
41 readvalue.append(1 / float(words[b]))
44 value[i] = np.mean(readvalue)
45 sigma[i] = np.std(readvalue)
46 u = list(range(0, len(readvalue)))
50 if readvalue[j - z] > 1.5 * value[i]
or readvalue[j - z] < 0.5 \
54 sigma[i] = np.std(readvalue)
55 value[i] = np.mean(readvalue)
58 for i
in range(0, len(value)):
59 valuenormed[i] = value[i] * x
60 sigmanormed[i] = sigma[i] * x
71 (locs, labels) = plt.xticks(t, optlevel)
72 plt.setp(labels, rotation=90)
73 plt.xlim([-0.5, len(optlevel) - 0.5])
74 plt.ylabel(
'performance')
76 fig.subplots_adjust(bottom=0.65)
77 plt.savefig(
'plots/' + name +
'.png')
79 fobj = open(
'plots/' + name +
'.out',
'w')
81 fobj.write(optlevel[i] +
'&' + str(n[i]) +
'&' + str(
'%.3f' % value[i]) +
82 ' & ' + str(
'%.3f' % sigma[i]) +
'&' + str(
'%.4f' % valuenormed[i]) +
83 '&' + str(
'%.4f' % sigmanormed[i]) +
'\\\\\n')
84 fobj.write(
"\hline\n")
87 name =
'CDCLegendreTracking'
88 optlevel = [
'gcc-O0',
'gcc-O3',
'gcc-O3-native']
89 read(optlevel, 0, name)