Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (77e7e51e)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
makePlots Namespace Reference

Classes

class  TimingInfo
 

Functions

def instancesVsTime (filename)
 
def prepareTimingPlots (config="BrunelScenario", path="../options")
 

Function Documentation

◆ instancesVsTime()

def makePlots.instancesVsTime (   filename)

Definition at line 19 of file makePlots.py.

19 def instancesVsTime(filename):
20  logfile = open(filename)
21  nOfInstances = {}
22  runtime = {}
23  # extract all info
24  for line in logfile.readlines():
25  if "I ran" in line:
26  name = line.split("SUCCESS")[0]
27  runtime[name] = float(line.split("runtime of")[1])
28  if name in nOfInstances:
29  number = nOfInstances[name]
30  else:
31  number = 0
32  nOfInstances[name] = number + 1
33  # now sort it
34  x = []
35  y = []
36  for name in runtime:
37  x.append(runtime[name])
38  y.append(nOfInstances[name])
39  fig = plt.figure()
40  ax = fig.add_subplot(111)
41  ax.scatter(x, y)
42  ax.grid(True)
43  plt.xlabel("Runtime (s)")
44  plt.ylabel("# instances")
45  plt.title(
46  "Requested algorithm instances with 10 events and 10 threads in parallel."
47  )
48  plt.savefig("test.pdf")
49 
50 

◆ prepareTimingPlots()

def makePlots.prepareTimingPlots (   config = "BrunelScenario",
  path = "../options" 
)

Definition at line 61 of file makePlots.py.

61 def prepareTimingPlots(config="BrunelScenario", path="../options"):
62  # first read all the timings
63  timings = []
64  for filename in os.listdir(path):
65  if filename.startswith(config) and filename.endswith("time"):
66  ff = open(os.path.join(path, filename))
67  time = ff.read().rstrip("\n")
68  timing = TimingInfo(filename, time)
69  timings.append(timing)
70  # now prepare the various plots:
71  # o parallel algos vs. time (for fixed parallel events)
72  fig = plt.figure()
73  ax = fig.add_subplot(111)
74  times = []
75  algos = []
76  for timing in timings:
77  if timing.events == 1:
78  times.append(timing.time)
79  algos.append(timing.algos)
80  ax.plot(algos, times)
81  plt.xlabel("Max algos in parallel")
82  plt.ylabel("runtime (s)")
83  plt.title("Brunel / CPUCruncher profiling.")
84 
85  plt.savefig("timing.pdf")
86 
87 
makePlots.prepareTimingPlots
def prepareTimingPlots(config="BrunelScenario", path="../options")
Definition: makePlots.py:61
makePlots.instancesVsTime
def instancesVsTime(filename)
Definition: makePlots.py:19