Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
bettertimeit-1.1.2.tar.gz (8.1 kB) Copy SHA256 hash SHA256 Source None Jun 15, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page