Socket
Socket
Sign inDemoInstall

timer-module

Package Overview
Dependencies
1
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    timer-module

Timer Module with performance profiling features


Maintainers
1

Readme


📋 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
# Seconds
TimerModule().get_time() # float

# Milliseconds
TimerModule().get_time_ms() # float

# Nanoseconds
TimerModule().get_time_ns() # float
Set the starting time
# Seconds
TimerModule().set_time(1.0)

# Milliseconds
TimerModule().set_time_ms(1.0)

# Nanoseconds
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

# You only need this line to profile the entire class 
# The program is run normally, this decorator will wrap 
# The class and its methods in order to track execution time
@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:

profiler_output

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc