No project description provided
Project description
wraptimer
An amazing alternative to Python's builtin timeit
module that allows for high resolution timing of functions as well as in-depth line-by-line timing. It also exposes convenient classes to measure execution time for any arbitrary code.
Sync function example
# imports
import time
from wraptimer import TimeIt
# Init
timeit = TimeIt()
# decorate
@timeit.byline
def test_by_line():
a = 10
b = 20
time.sleep(0.8)
c = a + b
return [a, b, c]
# run
test_by_line()
Async function example
# Imports
import asyncio
from wraptimer import TimeIt
# Init
timeit = TimeIt()
# decorate
@timeit.byline
async def test_by_line_async():
a = 10
b = 20
await asyncio.sleep(1.25)
return [a, b]
# run
asyncio.run(test_by_line_async())
Don't need Line-by-line tracing?
Use @timeit.func
if you do not want to print line-by-line durations.
...
@timeit.func
async def test_by_line_async():
a = 10
b = 20
await asyncio.sleep(1.25)
return [a, b]
Read the documentation
For more about wraptimer, Read The Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wraptimer-0.1.0.tar.gz
(4.8 kB
view hashes)
Built Distribution
Close
Hashes for wraptimer-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5c42b32ad194810ab4f9f1bb9eeef37ab7ca199acccd85e7621a77560833d36 |
|
MD5 | 7257111439f9873b6d3f68e33f675e4e |
|
BLAKE2b-256 | d7031f8a9fe52aa4e3b892526da5258f9a1f0f872b390b0ad37c7a12c8949930 |