# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2016, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-10-30 10:42+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/timeit.rst:2 msgid ":mod:`timeit` --- Measure execution time of small code snippets" msgstr "" #: ../Doc/library/timeit.rst:7 msgid "**Source code:** :source:`Lib/timeit.py`" msgstr "**Code source :** :source:`Lib/timeit.py`" #: ../Doc/library/timeit.rst:15 msgid "" "This module provides a simple way to time small bits of Python code. It has " "both a :ref:`timeit-command-line-interface` as well as a :ref:`callable " "` one. It avoids a number of common traps for measuring " "execution times. See also Tim Peters' introduction to the \"Algorithms\" " "chapter in the *Python Cookbook*, published by O'Reilly." msgstr "" #: ../Doc/library/timeit.rst:23 msgid "Basic Examples" msgstr "" #: ../Doc/library/timeit.rst:25 msgid "" "The following example shows how the :ref:`timeit-command-line-interface` can " "be used to compare three different expressions:" msgstr "" #: ../Doc/library/timeit.rst:37 msgid "This can be achieved from the :ref:`python-interface` with::" msgstr "" #: ../Doc/library/timeit.rst:48 msgid "" "Note however that :mod:`timeit` will automatically determine the number of " "repetitions only when the command-line interface is used. In the :ref:" "`timeit-examples` section you can find more advanced examples." msgstr "" #: ../Doc/library/timeit.rst:56 msgid "Python Interface" msgstr "" #: ../Doc/library/timeit.rst:58 msgid "The module defines three convenience functions and a public class:" msgstr "" #: ../Doc/library/timeit.rst:63 msgid "" "Create a :class:`Timer` instance with the given statement, *setup* code and " "*timer* function and run its :meth:`.timeit` method with *number* " "executions. The optional *globals* argument specifies a namespace in which " "to execute the code." msgstr "" #: ../Doc/library/timeit.rst:68 ../Doc/library/timeit.rst:79 #: ../Doc/library/timeit.rst:113 msgid "The optional *globals* parameter was added." msgstr "" #: ../Doc/library/timeit.rst:74 msgid "" "Create a :class:`Timer` instance with the given statement, *setup* code and " "*timer* function and run its :meth:`.repeat` method with the given *repeat* " "count and *number* executions. The optional *globals* argument specifies a " "namespace in which to execute the code." msgstr "" #: ../Doc/library/timeit.rst:84 msgid "The default timer, which is always :func:`time.perf_counter`." msgstr "" #: ../Doc/library/timeit.rst:86 msgid ":func:`time.perf_counter` is now the default timer." msgstr "" #: ../Doc/library/timeit.rst:92 msgid "Class for timing execution speed of small code snippets." msgstr "" #: ../Doc/library/timeit.rst:94 msgid "" "The constructor takes a statement to be timed, an additional statement used " "for setup, and a timer function. Both statements default to ``'pass'``; the " "timer function is platform-dependent (see the module doc string). *stmt* and " "*setup* may also contain multiple statements separated by ``;`` or newlines, " "as long as they don't contain multi-line string literals. The statement " "will by default be executed within timeit's namespace; this behavior can be " "controlled by passing a namespace to *globals*." msgstr "" #: ../Doc/library/timeit.rst:102 msgid "" "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` multiple times and return a list of results." msgstr "" #: ../Doc/library/timeit.rst:106 msgid "" "The execution time of *setup* is excluded from the overall timed execution " "run." msgstr "" #: ../Doc/library/timeit.rst:108 msgid "" "The *stmt* and *setup* parameters can 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." msgstr "" #: ../Doc/library/timeit.rst:118 msgid "" "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 a number of times, measured in seconds as a float. The argument is " "the number of times through the loop, defaulting to one million. The main " "statement, the setup statement and the timer function to be used are passed " "to the constructor." msgstr "" #: ../Doc/library/timeit.rst:127 msgid "" "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. If " "so, GC can be re-enabled as the first statement in the *setup* string. For " "example::" msgstr "" #: ../Doc/library/timeit.rst:139 msgid "Call :meth:`.timeit` a few times." msgstr "" #: ../Doc/library/timeit.rst:141 msgid "" "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 :meth:`.timeit`." msgstr "" #: ../Doc/library/timeit.rst:148 msgid "" "It's tempting to calculate mean and standard deviation from the result " "vector and report these. However, this is not very useful. In a typical " "case, the lowest value gives a lower bound for how fast your machine can run " "the given code snippet; higher values in the result vector are typically not " "caused by variability in Python's speed, but by other processes interfering " "with your timing accuracy. So the :func:`min` of the result is probably the " "only number you should be interested in. After that, you should look at the " "entire vector and apply common sense rather than statistics." msgstr "" #: ../Doc/library/timeit.rst:161 msgid "Helper to print a traceback from the timed code." msgstr "" #: ../Doc/library/timeit.rst:163 msgid "Typical use::" msgstr "" #: ../Doc/library/timeit.rst:171 msgid "" "The advantage over the standard traceback is that source lines in the " "compiled template will be displayed. The optional *file* argument directs " "where the traceback is sent; it defaults to :data:`sys.stderr`." msgstr "" #: ../Doc/library/timeit.rst:179 msgid "Command-Line Interface" msgstr "Interface en ligne de commande" #: ../Doc/library/timeit.rst:181 msgid "" "When called as a program from the command line, the following form is used::" msgstr "" #: ../Doc/library/timeit.rst:185 msgid "Where the following options are understood:" msgstr "" #: ../Doc/library/timeit.rst:191 msgid "how many times to execute 'statement'" msgstr "" #: ../Doc/library/timeit.rst:195 msgid "how many times to repeat the timer (default 3)" msgstr "" #: ../Doc/library/timeit.rst:199 msgid "statement to be executed once initially (default ``pass``)" msgstr "" #: ../Doc/library/timeit.rst:203 msgid "" "measure process time, not wallclock time, using :func:`time.process_time` " "instead of :func:`time.perf_counter`, which is the default" msgstr "" #: ../Doc/library/timeit.rst:210 msgid "use :func:`time.time` (deprecated)" msgstr "" #: ../Doc/library/timeit.rst:214 msgid "specify a time unit for timer output; can select usec, msec, or sec" msgstr "" #: ../Doc/library/timeit.rst:220 msgid "use :func:`time.clock` (deprecated)" msgstr "" #: ../Doc/library/timeit.rst:224 msgid "print raw timing results; repeat for more digits precision" msgstr "" #: ../Doc/library/timeit.rst:228 msgid "print a short usage message and exit" msgstr "" #: ../Doc/library/timeit.rst:230 msgid "" "A multi-line statement may be given by specifying each line as a separate " "statement argument; indented lines are possible by enclosing an argument in " "quotes and using leading spaces. Multiple :option:`-s` options are treated " "similarly." msgstr "" #: ../Doc/library/timeit.rst:235 msgid "" "If :option:`-n` is not given, a suitable number of loops is calculated by " "trying successive powers of 10 until the total time is at least 0.2 seconds." msgstr "" #: ../Doc/library/timeit.rst:238 msgid "" ":func:`default_timer` measurements can be affected by other programs running " "on the same machine, so the best thing to do when accurate timing is " "necessary is to repeat the timing a few times and use the best time. The :" "option:`-r` option is good for this; the default of 3 repetitions is " "probably enough in most cases. You can use :func:`time.process_time` to " "measure CPU time." msgstr "" #: ../Doc/library/timeit.rst:246 msgid "" "There is a certain baseline overhead associated with executing a pass " "statement. The code here doesn't try to hide it, but you should be aware of " "it. The baseline overhead can be measured by invoking the program without " "arguments, and it might differ between Python versions." msgstr "" #: ../Doc/library/timeit.rst:255 msgid "Examples" msgstr "Exemples" #: ../Doc/library/timeit.rst:257 msgid "" "It is possible to provide a setup statement that is executed only once at " "the beginning:" msgstr "" #: ../Doc/library/timeit.rst:274 msgid "The same can be done using the :class:`Timer` class and its methods::" msgstr "" #: ../Doc/library/timeit.rst:284 msgid "" "The following examples show how to time expressions that contain multiple " "lines. Here we compare the cost of using :func:`hasattr` vs. :keyword:`try`/:" "keyword:`except` to test for missing and present object attributes:" msgstr "" #: ../Doc/library/timeit.rst:330 msgid "" "To give the :mod:`timeit` module access to functions you define, you can " "pass a *setup* parameter which contains an import statement::" msgstr "" #: ../Doc/library/timeit.rst:341 msgid "" "Another option is to pass :func:`globals` to the *globals* parameter, which " "will cause the code to be executed within your current global namespace. " "This can be more convenient than individually specifying imports::" msgstr ""