The module defines the following public class:
-.. class:: Timer([stmt='pass' [, setup='pass' [, timer=<timer function>]]])
+.. class:: Timer(stmt='pass', setup='pass', timer=<timer function>)
Class for timing execution speed of small code snippets.
may also contain multiple statements separated by ``;`` or newlines, as long as
they don't contain multi-line string literals.
- To measure the execution time of the first statement, use the :meth:`timeit`
- method. The :meth:`repeat` method is a convenience to call :meth:`timeit`
+ To measure the execution time of the first statement, use the :meth:`Timer.timeit`
+ method. The :meth:`repeat` method is a convenience to call :meth:`.timeit`
multiple times and return a list of results.
.. versionchanged:: 2.6
The *stmt* and *setup* parameters can now also take objects that are callable
without arguments. This will embed calls to them in a timer function that will
- then be executed by :meth:`timeit`. Note that the timing overhead is a little
- larger in this case because of the extra function calls.
+ then be executed by :meth:`.timeit`. Note that the timing overhead is a
+ little larger in this case because of the extra function calls.
-.. method:: Timer.print_exc([file=None])
+.. method:: Timer.print_exc(file=None)
Helper to print a traceback from the timed code.
traceback is sent; it defaults to ``sys.stderr``.
-.. method:: Timer.repeat([repeat=3 [, number=1000000]])
+.. method:: Timer.repeat(repeat=3, number=1000000)
- Call :meth:`timeit` a few times.
+ Call :meth:`.timeit` a few times.
- This is a convenience function that calls the :meth:`timeit` repeatedly,
+ This is a convenience function that calls the :meth:`.timeit` repeatedly,
returning a list of results. The first argument specifies how many times to
- call :meth:`timeit`. The second argument specifies the *number* argument for
- :func:`timeit`.
+ call :meth:`.timeit`. The second argument specifies the *number* argument for
+ :meth:`.timeit`.
.. note::
and apply common sense rather than statistics.
-.. method:: Timer.timeit([number=1000000])
+.. method:: Timer.timeit(number=1000000)
Time *number* executions of the main statement. This executes the setup
statement once, and then returns the time it takes to execute the main statement
.. note::
- By default, :meth:`timeit` temporarily turns off :term:`garbage collection`
+ By default, :meth:`.timeit` temporarily turns off :term:`garbage collection`
during the timing. The advantage of this approach is that it makes
independent timings more comparable. This disadvantage is that GC may be
an important component of the performance of the function being measured.
.. function:: timeit(stmt, setup='pass', timer=default_timer, number=1000000)
Create a :class:`Timer` instance with the given statement, setup code and timer
- function and run its :meth:`timeit` method with *number* executions.
+ function and run its :meth:`.timeit` method with *number* executions.
.. versionadded:: 2.6
3.15 usec/pass
To give the :mod:`timeit` module access to functions you define, you can pass a
-``setup`` parameter which contains an import statement::
+*setup* parameter which contains an import statement::
def test():
"""Stupid test function"""