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:
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 | |
|---|---|---|---|
| code_timer-2.0.0.tar.gz | 5.6 kB | 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
|