Chciałbym w mojej aplikacji dodać funkcjonalność wyświetlania czasu wykonywania ostatniej operacji.
Program posiada GUI, ma wiele funkcji, których czas wykonywania chciałbym mierzyć.
Wpadłem na pomysł, by napisać to w postaci klasy:
class Runtime:
start_time = time.clock()
value = ''
def __init__(self):
pass
def start(self):
self.start_time = time.clock()
def refresh(self):
self.value = time.clock() - self.start_time
def display(self):
return 'Last operation was running by ' + str(round((time.time() - self.start_time), 2)) + ' seconds'
runtime = Runtime
Później stworzyć obiekt tej klasy (tylko raz), i wywołać metody tej klasy w odpowiednich miejscach.
Ale może jest to przerost formy nad treścią i powinienem to zrobić proceduralnie ?
Tylko jest taki problem, że nie wiem, jak przechowywać dane 'start_time' i 'value'.
Opcja z klasami jest czytelniejsza w wywoływaniu, ale może niezbyt wydajna.
Proszę o poradę, co jest bardziej wydajne i 'pythonowe' i dlaczego ?
Może jest jakieś inne, lepsze rozwiązanie ?