4 Script that fetches all the logfiles from disk and reads the timings. 5 Parameters can be changed according to the working points considered. 6 Some parameters of the plots are hardcoded. 11 n_algos_in_flight_l = [1, 2, 5, 7, 10, 16, 20, 22]
12 n_evts_in_flight_l = [1, 2, 4, 6, 7, 8, 9, 11, 13, 14, 15]
13 colour_l = [kRed, kBlue, kOrange, kGreen, kMagenta, kCyan] * 2
14 line_style_l = [1] * 6 + [2] * 6
15 cloneFlag_l = [
True,
False]
18 To be filled with files on disk of the form 19 timing_measurement_BrunelScenario_n150_eif2_aif20_nthreads24_cFalse_dqFalse.log 21 filename_scheleton =
"timing_measurement_BrunelScenario_n150_eif%s_aif%s_nthreads24_c%s_dqFalse.log" 24 def getRuntime(n_algos_in_flight, n_evts_in_flight, cloneFlag):
25 filename = filename_scheleton % (
26 n_evts_in_flight, n_algos_in_flight, cloneFlag)
29 for line
in open(filename,
"r").readlines(): 38 o Key = [n_algos_in_flight, n_evts_in_flight, cloneFlag] 45 for n_algos_in_flight
in n_algos_in_flight_l:
46 for n_evts_in_flight
in n_evts_in_flight_l:
47 for cloneFlag
in cloneFlag_l:
49 n_evts_in_flight, cloneFlag)
50 runtimes[n_algos_in_flight, n_evts_in_flight, cloneFlag] = rt
56 for key, rt
in runtimes.items():
57 this_n_algos_in_flight, this_n_evts_in_flight, this_cloneFlag = key
58 if this_n_evts_in_flight == n_evts_in_flight
and \
59 this_cloneFlag == cloneFlag:
60 points.append((this_n_algos_in_flight, rt))
66 graph = TGraph(len(points))
67 graph.GetXaxis().SetTitle(
"Maximum # in flight algos")
68 graph.GetXaxis().SetRangeUser(0, 23)
69 graph.GetYaxis().SetTitle(
"Runtime [s]")
70 graph.GetYaxis().SetTitleOffset(1.45)
71 graph.GetYaxis().SetRangeUser(0.1, 275)
72 graph.GetYaxis().SetNdivisions(12, 5, 1)
74 graph.SetLineColor(colour)
75 graph.SetMarkerColor(colour)
76 graph.SetLineStyle(style)
77 graph.SetFillColor(kWhite)
81 graph.SetPoint(point_n, x, y)
87 title =
"Brunel 150 events" 90 clone_string =
"_clone" 92 plotname =
"runtime%s.pdf" % clone_string
94 canvas = TCanvas(plotname,
"plot", 500, 400)
100 for colour, n_evts_in_flight, line_style
in zip(colour_l, n_evts_in_flight_l, line_style_l):
101 print n_evts_in_flight
103 runtimes, colour, line_style)
108 graph.SetTitle(title)
113 legend = TLegend(.499, .45, .9, .9,
"# Parallel Events")
114 legend.SetTextSize(0.04)
115 legend.SetFillColor(kWhite)
117 for graph, n
in zip(graphs, n_evts_in_flight_l):
118 legend.AddEntry(graph,
"%s" % n)
122 l = TLatex(.13, .16,
"#font[12]{#scale[.8]{24 Threads}}")
126 dummy = raw_input(
"Press enter to save...")
127 canvas.Print(plotname)
def getGraphPoints(n_evts_in_flight, cloneFlag, runtimes)
def make_plot(runtimes, cloneFlag)
def getRuntime(n_algos_in_flight, n_evts_in_flight, cloneFlag)
def getSingleGraph(n_evts_in_flight, cloneFlag, runtimes, colour, style)