A Better Timeit
Project description
=============
Better Timeit
=============
.. image:: https://badge.fury.io/py/bettertimeit.png
:target: http://badge.fury.io/py/bettertimeit
.. image:: https://travis-ci.org/simonpercivall/bettertimeit.png?branch=master
:target: https://travis-ci.org/simonpercivall/bettertimeit
.. image:: https://pypip.in/d/bettertimeit/badge.png
:target: https://crate.io/packages/bettertimeit?version=latest
A Better Timeit
* Free software: BSD license
* Documentation: http://bettertimeit.rtfd.org.
Example
-------
``bettertimeit`` will time any function which is named "timeit\_<something>".
The "timeit\_" functions may be contained within a function or in a module.
Each "timeit\_" function will be timed separately::
from bettertimeit import bettertimeit
def container():
a = 5
def timeit_calculation():
a**10
b = 3
def timeit_calculation_2():
a**b
bettertimeit(container)
To run timings from setup.py, you could add this to :func:`setup`::
setup(
...
timeit_suite="timings",
)
And then run::
% python setup.py timeit
This would run timeit functions in ``timings.py``.
Features
--------
* Lets you write your timing test code as regular code instead of strings,
but without the overhead of a function call.
* Put your timing test code in a module or inside a function
* Uses the same method as timeit.main to calculate the optimal number of
passes to run.
* Adds a ``timeit_suite`` option to setup() in setup.py, and a distutils
command ``timeit`` to run timings from setup.py.
=========
Changelog
=========
Here's the recent changes to Better Timeit.
.. changelog::
:version: 1.1.1
:released: 2014-05-02
.. change::
:tags: general
Add a target-time option to the distutils command, to tune the target time
for each run.
.. changelog::
:version: 1.1
:released: 2014-04-29
.. change::
:tags: general
Add a distutils command to run timings from setup.py. Also add a
setup() flag ``timeit_suite`` to set timeit module in setup.py.
.. changelog::
:version: 1.0.1
:released: 2014-04-29
.. change::
:tags: general
A version that actually works: the 1.0 release didn't extract the body
of the timeit function.
.. changelog::
:version: 1.0
:released: 2014-04-28
.. change::
:tags: general
First version.
Better Timeit
=============
.. image:: https://badge.fury.io/py/bettertimeit.png
:target: http://badge.fury.io/py/bettertimeit
.. image:: https://travis-ci.org/simonpercivall/bettertimeit.png?branch=master
:target: https://travis-ci.org/simonpercivall/bettertimeit
.. image:: https://pypip.in/d/bettertimeit/badge.png
:target: https://crate.io/packages/bettertimeit?version=latest
A Better Timeit
* Free software: BSD license
* Documentation: http://bettertimeit.rtfd.org.
Example
-------
``bettertimeit`` will time any function which is named "timeit\_<something>".
The "timeit\_" functions may be contained within a function or in a module.
Each "timeit\_" function will be timed separately::
from bettertimeit import bettertimeit
def container():
a = 5
def timeit_calculation():
a**10
b = 3
def timeit_calculation_2():
a**b
bettertimeit(container)
To run timings from setup.py, you could add this to :func:`setup`::
setup(
...
timeit_suite="timings",
)
And then run::
% python setup.py timeit
This would run timeit functions in ``timings.py``.
Features
--------
* Lets you write your timing test code as regular code instead of strings,
but without the overhead of a function call.
* Put your timing test code in a module or inside a function
* Uses the same method as timeit.main to calculate the optimal number of
passes to run.
* Adds a ``timeit_suite`` option to setup() in setup.py, and a distutils
command ``timeit`` to run timings from setup.py.
=========
Changelog
=========
Here's the recent changes to Better Timeit.
.. changelog::
:version: 1.1.1
:released: 2014-05-02
.. change::
:tags: general
Add a target-time option to the distutils command, to tune the target time
for each run.
.. changelog::
:version: 1.1
:released: 2014-04-29
.. change::
:tags: general
Add a distutils command to run timings from setup.py. Also add a
setup() flag ``timeit_suite`` to set timeit module in setup.py.
.. changelog::
:version: 1.0.1
:released: 2014-04-29
.. change::
:tags: general
A version that actually works: the 1.0 release didn't extract the body
of the timeit function.
.. changelog::
:version: 1.0
:released: 2014-04-28
.. change::
:tags: general
First version.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bettertimeit-1.1.1.tar.gz
(8.1 kB
view hashes)