A (BSD licensed) context manager for timing execution.
Project description
A (BSD licensed) context manager for timing execution. Useful for benchmarking everyday Python code easily/cleanly.
Usage
Usage is trivial. Simply wrap your code in a Timer context manager. Example:
from chrono import Timer with Timer() as timed: # Put whatever logic you want here. # ``for`` loops are great here for timing things that are very fast. print("Time spent: {0} seconds".format(timed.elapsed))
Requirements
- Python 2.6+ or Python 3.3+ (may work on Python 2.5)
License
BSD
Shortcomings
This is implemented in pure Python, so it doesn’t have the accuracy a C extension would have. There’s also overhead for the context manager function calls, so don’t use this to bench C code.
That said, for most everyday usage of Python, it’s very helpful.
Running Tests
Setup:
$ git clone https://github.com/toastdriven/chrono.git $ cd chrono $ virtualenv -p python3 env3 $ . env3/bin/activate $ pip install nose
Running:
$ nosetests -s -v tests.py
chrono is maintained with 100% passing tests at all times.
Changelog
- Dev
- Added links to the docs
- v1.0.1
- Added initial docs
- Fixed up the main docstring in Timer
- v1.0.0
- Initial release
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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size chrono-1.0.2-py2.py3-none-any.whl (4.1 kB) | File type Wheel | Python version 2.7 | Upload date | Hashes View |
Filename, size chrono-1.0.2.tar.gz (3.1 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for chrono-1.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91c0905cafe915579984ac18c8da631301391e44e9102945eefeadb8498af84b |
|
MD5 | f6bb1d57ec10efaa3f8ea6f87abc2473 |
|
BLAKE2-256 | be2f40c7dfa0de23a60b7e6e493bb471240688eb4e728eaadef53e1a184334c5 |