The Gaudi Framework  v36r16 (ea80daf8)
GaudiHive.precedence.RealTimeValue Class Reference
Inheritance diagram for GaudiHive.precedence.RealTimeValue:
Collaboration diagram for GaudiHive.precedence.RealTimeValue:

Public Member Functions

def __init__ (self, path, defaultTime, factor=1)
 
def get (self, algoName="")
 

Public Attributes

 path
 
 factor
 
 defaultTime
 
 varRuntime
 
 file
 
 timings
 

Detailed Description

A class to manage real algorithm timing

Definition at line 75 of file precedence.py.

Constructor & Destructor Documentation

◆ __init__()

def GaudiHive.precedence.RealTimeValue.__init__ (   self,
  path,
  defaultTime,
  factor = 1 
)
defaultTime -- run time, assigned to an algorithm if no time is found in provided timing library
       (and it will also be scaled by the 'factor' argument)

Definition at line 78 of file precedence.py.

78  def __init__(self, path, defaultTime, factor=1):
79  """
80  defaultTime -- run time, assigned to an algorithm if no time is found in provided timing library
81  (and it will also be scaled by the 'factor' argument)
82  """
83 
84  self.path = os.path.realpath(_buildFilePath(path))
85  self.factor = factor
86  self.defaultTime = defaultTime # typically 0.05s
87  self.varRuntime = 0
88 
89  self.file = open(self.path)
90  self.timings = json.load(self.file)
91 

Member Function Documentation

◆ get()

def GaudiHive.precedence.RealTimeValue.get (   self,
  algoName = "" 
)
Get time for a given algorithm name

Definition at line 92 of file precedence.py.

92  def get(self, algoName=""):
93  """Get time for a given algorithm name"""
94 
95  if algoName in self.timings:
96  time = float(self.timings[algoName])
97  else:
98  capAlgoName = algoName[0].upper() + algoName[1 : len(algoName)]
99 
100  if capAlgoName in self.timings:
101  time = float(self.timings[capAlgoName])
102  else:
103  time = self.defaultTime
104  print(
105  "WARNING: Timing for %s (or %s) not found in the provided library, using default one: %s"
106  % (algoName, capAlgoName, time)
107  )
108 
109  time = time * self.factor
110 
111  return time, self.varRuntime
112 
113 

Member Data Documentation

◆ defaultTime

GaudiHive.precedence.RealTimeValue.defaultTime

Definition at line 86 of file precedence.py.

◆ factor

GaudiHive.precedence.RealTimeValue.factor

Definition at line 85 of file precedence.py.

◆ file

GaudiHive.precedence.RealTimeValue.file

Definition at line 89 of file precedence.py.

◆ path

GaudiHive.precedence.RealTimeValue.path

Definition at line 84 of file precedence.py.

◆ timings

GaudiHive.precedence.RealTimeValue.timings

Definition at line 90 of file precedence.py.

◆ varRuntime

GaudiHive.precedence.RealTimeValue.varRuntime

Definition at line 87 of file precedence.py.


The documentation for this class was generated from the following file:
GaudiHive.precedence._buildFilePath
def _buildFilePath(filePath)
Definition: precedence.py:26
Gaudi::Functional::details::get
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
Definition: FunctionalDetails.h:444