functimer
A programmatic approach to function runtime estimation.
About
This package first came about as a way to serve my needs during an Algorithms class in college.
It started as a function that stored time elapsed results in a global dictionary, where the key was a tuple of the functions name and return value.
Now it's just a bit different.
Installation
How to install Poetry.
Quick Example
Comprehensive Examples in examples/
-
Python
@timed(unit=Unit.SECOND, number=1)
def timed_sleep(seconds):
sleep(seconds)
runtime = timed_sleep(1)
"1.00 s"
-
Command Line
$ python -m functimer "sum([1, 2, 3])"
Average runtime of 10,000 executions: 0.15 µs
$ python -m functimer "sum([1, 2, 3])" --return
Average runtime of 10,000 executions: 0.15 µs
sum([1, 2, 3]) -> 6
$ python -m functimer "(lambda x: x+x)(10)" --return
Average runtime of 10,000 executions: 0.14 µs
(lambda x: x+x)(10) -> 20
$ python -m functimer "functimer.util.get_unit('1.00 s')" --return
Average runtime of 10,000 executions: 0.50 µs
functimer.util.get_unit('1.00 s') -> Unit.SECOND
$ python -m functimer "functimer.classes.Unit.from_str('s')" --return
Average runtime of 10,000 executions: 0.25 µs
functimer.classes.Unit.from_str('s') -> Unit.SECOND
Tests
Run tox
in the root directory of the repo.
License
MIT