mirror of
https://github.com/Priler/jarvis.git
synced 2026-05-26 23:19:46 +00:00
28 lines
812 B
Python
28 lines
812 B
Python
import time
|
|
|
|
|
|
class Benchmark:
|
|
__marks = {} # {0: [result, point1, point2, ...]}
|
|
|
|
def start(self, point_name=None) -> float:
|
|
if point_name is None:
|
|
point_name = 0
|
|
|
|
self.__marks[point_name] = [0, ((time.time_ns() / 1000000) / 1000)%60, 0]
|
|
# print(f"start: {self.__marks}")
|
|
|
|
return self.__marks[point_name]
|
|
|
|
def end(self, point_name=None) -> tuple:
|
|
if point_name is None:
|
|
point_name = 0
|
|
|
|
# print(self.__marks)
|
|
self.__marks[point_name][2] = ((time.time_ns() / 1000000) / 1000)%60
|
|
self.__marks[point_name][0] = self.__marks[point_name][2] - self.__marks[point_name][1]
|
|
|
|
return self.__marks[point_name][0], f"{int(1E3 * self.__marks[point_name][0])}ms"
|
|
|
|
def clear_points(self):
|
|
self.__marks = {}
|