##// END OF EJS Templates
Removed caching from the TimeitResult properties
Pablo Galindo -
Show More
@@ -79,21 +79,15 b' class TimeitResult(object):'
79 self.compile_time = compile_time
79 self.compile_time = compile_time
80 self._precision = precision
80 self._precision = precision
81 self.timings = [ dt / self.loops for dt in all_runs]
81 self.timings = [ dt / self.loops for dt in all_runs]
82 self._average = None
83 self._stdev = None
84
82
85 @property
83 @property
86 def average(self):
84 def average(self):
87 if self._average is None:
85 return math.fsum(self.timings) / len(self.timings)
88 self._average = math.fsum(self.timings) / len(self.timings)
89 return self._average
90
86
91 @property
87 @property
92 def stdev(self):
88 def stdev(self):
93 if self._stdev is None:
89 mean = self.average
94 mean = self.average
90 return self._stdev = (math.fsum([(x - mean) ** 2 for x in self.timings]) / len(self.timings)) ** 0.5
95 self._stdev = (math.fsum([(x - mean) ** 2 for x in self.timings]) / len(self.timings)) ** 0.5
96 return self._stdev
97
91
98 def __str__(self):
92 def __str__(self):
99 if self.loops == 1: # No s at "loops" if only one loop
93 if self.loops == 1: # No s at "loops" if only one loop
General Comments 0
You need to be logged in to leave comments. Login now