Skip to main content
=============
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.

Metadata

Release files for bettertimeit 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bettertimeit 1.1.2
File Size Uploaded Provenance Actions
bettertimeit-1.1.2.tar.gz 8.1 kB Without provenance Details for bettertimeit-1.1.2.tar.gz

Release files / bettertimeit-1.1.2.tar.gz

Download URL bettertimeit-1.1.2.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bdfa1dc32bf324d07f150a4bf6819abd07dba2b2d8bf2f9861d96a8c6a1f38b4
BLAKE2b-256 checksum
How to use checksums
2a4772fcfc8d3a49d847e20739d447f7b44084e2302f317fe3ee1fba374d9fe2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for bettertimeit 1.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page