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 details)

Uploaded Source

File details

Details for the file bettertimeit-1.1.2.tar.gz.

File metadata

File hashes

Hashes for bettertimeit-1.1.2.tar.gz
Algorithm Hash digest
SHA256 bdfa1dc32bf324d07f150a4bf6819abd07dba2b2d8bf2f9861d96a8c6a1f38b4
MD5 2f4bfde640bc69f696ed9011fc4558db
BLAKE2b-256 2a4772fcfc8d3a49d847e20739d447f7b44084e2302f317fe3ee1fba374d9fe2

See more details on using hashes here.

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