📋 Prerequisite:
Requires Python >= 3.10
TimeProfiler makes use of new features from Python's typing module.
🛠️ Installation:
pip install timer-module
🖥️ Timer Usage:
Example Usage:
import time
from timer_module import TimerModule
timer_module = TimerModule().start()
timer_module.pause()
time.sleep(0.2)
timer_module.start()
time.sleep(0.5)
seconds = timer_module.get_time()
print(seconds)
Get the current time
TimerModule().get_time()
TimerModule().get_time_ms()
TimerModule().get_time_ns()
Set the starting time
TimerModule().set_time(1.0)
TimerModule().set_time_ms(1.0)
TimerModule().set_time_ns(1.0)
Pause timer:
TimerModule().pause()
Refresh timer (preserves timer run state):
TimerModule().refresh()
Reset timer (resets everything)
TimerModule().reset()
🖥️ Profiler Usage:
TimeProfiler also includes a "function_profiler" and "async_function_profiler", in a class the asynchronous methods are handled automatically, but for functions you need to select the appropriate decorator.
import time
from timer_module import TimeProfiler
@TimeProfiler().class_profiler
class ExampleClass:
def __init__(self):
time.sleep(0.1)
def method_1(self):
time.sleep(0.5)
self.method_2()
def method_2(self):
time.sleep(1)
self.method_3()
def method_3(self):
time.sleep(1)
self.method_4()
def method_4(self):
time.sleep(0.1)
self.method_5()
def method_5(self):
time.sleep(0.1)
ec = ExampleClass()
ec.method_1()
Output: