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" 22 def getRuntime(n_algos_in_flight, n_evts_in_flight, cloneFlag):
23 filename=filename_scheleton %(n_evts_in_flight, n_algos_in_flight, cloneFlag)
26 for line
in open(filename,
"r").readlines(): 34 o Key = [n_algos_in_flight, n_evts_in_flight, cloneFlag] 39 for n_algos_in_flight
in n_algos_in_flight_l:
40 for n_evts_in_flight
in n_evts_in_flight_l:
41 for cloneFlag
in cloneFlag_l:
42 rt=
getRuntime(n_algos_in_flight, n_evts_in_flight, cloneFlag)
43 runtimes[n_algos_in_flight, n_evts_in_flight, cloneFlag]=rt
49 for key,rt
in runtimes.items():
50 this_n_algos_in_flight, this_n_evts_in_flight, this_cloneFlag = key
51 if this_n_evts_in_flight==n_evts_in_flight
and \
52 this_cloneFlag==cloneFlag:
53 points.append((this_n_algos_in_flight,rt))
58 graph = TGraph(len(points))
59 graph.GetXaxis().SetTitle(
"Maximum # in flight algos")
60 graph.GetXaxis().SetRangeUser(0,23)
61 graph.GetYaxis().SetTitle(
"Runtime [s]")
62 graph.GetYaxis().SetTitleOffset(1.45)
63 graph.GetYaxis().SetRangeUser(0.1,275)
64 graph.GetYaxis().SetNdivisions(12,5,1)
66 graph.SetLineColor(colour)
67 graph.SetMarkerColor(colour)
68 graph.SetLineStyle(style)
69 graph.SetFillColor(kWhite)
73 graph.SetPoint(point_n,x,y)
78 title =
"Brunel 150 events" 83 plotname=
"runtime%s.pdf" %clone_string
85 canvas=TCanvas(plotname,
"plot",500,400)
91 for colour, n_evts_in_flight, line_style
in zip(colour_l, n_evts_in_flight_l,line_style_l):
92 print n_evts_in_flight
93 graph =
getSingleGraph(n_evts_in_flight,cloneFlag,runtimes,colour,line_style)
103 legend=TLegend(.499,.45,.9,.9,
"# Parallel Events")
104 legend.SetTextSize(0.04)
105 legend.SetFillColor(kWhite)
107 for graph,n
in zip(graphs,n_evts_in_flight_l):
108 legend.AddEntry(graph,
"%s" %n)
112 l=TLatex(.13,.16,
"#font[12]{#scale[.8]{24 Threads}}")
117 dummy = raw_input(
"Press enter to save...")
118 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)