The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
precedence.RealTimeValue Class Reference
Inheritance diagram for precedence.RealTimeValue:
Collaboration diagram for precedence.RealTimeValue:

Public Member Functions

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

Public Attributes

 path = os.path.realpath(_buildFilePath(path))
 
 factor = factor
 
 defaultTime = defaultTime
 
int varRuntime = 0
 
 file = open(self.path)
 
 timings = json.load(self.file)
 

Detailed Description

A class to manage real algorithm timing

Definition at line 74 of file precedence.py.

Constructor & Destructor Documentation

◆ __init__()

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 77 of file precedence.py.

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

Member Function Documentation

◆ get()

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

Definition at line 91 of file precedence.py.

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

Member Data Documentation

◆ defaultTime

precedence.RealTimeValue.defaultTime = defaultTime

Definition at line 85 of file precedence.py.

◆ factor

precedence.RealTimeValue.factor = factor

Definition at line 84 of file precedence.py.

◆ file

precedence.RealTimeValue.file = open(self.path)

Definition at line 88 of file precedence.py.

◆ path

precedence.RealTimeValue.path = os.path.realpath(_buildFilePath(path))

Definition at line 83 of file precedence.py.

◆ timings

precedence.RealTimeValue.timings = json.load(self.file)

Definition at line 89 of file precedence.py.

◆ varRuntime

int precedence.RealTimeValue.varRuntime = 0

Definition at line 86 of file precedence.py.


The documentation for this class was generated from the following file: