code_timer
Simple python timer to use for single lines of code, or entire functions/classes
New Features!
- Use
code_timer.Timeras a class, context manager, decorator- Offers the most versatility and flexibility for your needs
- Use separate
code_timer.timerdecorator - Use
code_timer.timeitdecorator to measure the time to run the same function multiple times- Useful when comparing the efficiency of one runtime vs another
- By default, will run the function 10,000 times. The number of runs is configurable
- DO NOT USE THIS FOR RECURSIVE FUNCTIONS!!
- Logger allowing you to set the streaming level or hide the logging entirely
Basic Usage
code_timer.Timer
-
As a class:
t = Timer(name="class") t.start() # Do something t.stop()
-
As a context manager:
-
Useful when trying to time a recursive function
with Timer(name="context manager") as t: # Do something print(f"Elapsed time: {t.elapsed_time}")
-
As a decorator:
@Timer(name="decorator") def stuff(): # Do something
code_timer.timer
-
Without braces
@timer def your_func(): # Do something
-
With braces
@timer(name="my_timer") def your_func(): # Do something
code_timer.timeit
- Time is reported at logging level: logging.INFO
- The following assumes the standard formatting for the code_timer logger
-
Default
- will repeat the function 10,000 times and report the fastest three runs
@timeit def your_func(): # Do something
- Output:
2020-03-12 21:56:46: code_timer.INFO - Best 3 of 10000 for your_func: 0.2200 ms; 0.2220 ms; 0.2232 ms
-
Pass in the number of times to repeat
@timeit(num_repeats=50) def your_func(): # Do something
- Output:
2020-03-12 21:56:46: code_timer.INFO - Best 3 of 50 for your_func: 0.2200 ms; 0.2220 ms; 0.2232 ms
- Output:
Metadata
Release files for code-timer 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| code_timer-2.0.0.tar.gz | 5.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| code_timer-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.5 kB
Release files / code_timer-2.0.0.tar.gz
| Download URL | code_timer-2.0.0.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fdc1cd4cef038d5eae00d3edaecabf2130ee936e76bf6065f36c6bc70be9a2d
|
|
BLAKE2b-256 checksum How to use checksums |
d6756696858c0f13c2dbb769e9278dd20c4ee39dc923589ebebb83549f104ec7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11
|
Release files / code_timer-2.0.0-py3-none-any.whl
| Download URL | code_timer-2.0.0-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61b39f732196b729b90ded689d76067963d4a0611fc5d50988c9cdfbbdc1d5d2
|
|
BLAKE2b-256 checksum How to use checksums |
9f7f31847cb8467cba607634b6fe53270b7e9acc121f056d13ba7eb7437f9042
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11
|
Security for code-timer 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.