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
- 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.
Source Distribution
File details
Details for the file chrono-1.0.1.tar.gz
.
File metadata
- Download URL: chrono-1.0.1.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac6c1781ab65f139c519b089d2c120f9a55a6f287f903b5efb7e2df82429c6f4 |
|
MD5 | 578d746d93441ba3a029920f09b58c17 |
|
BLAKE2b-256 | 1139b22e8e982fbb8ed586740739bb8fd66b4f2a6dc61d0e09e15bd224b72bd1 |