Skip to main content

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.

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.2.tar.gz (8.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page