# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-10 09:35+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\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:116 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:82 ../Doc/library/timeit.rst:177 msgid "Default value of *repeat* changed from 3 to 5." msgstr "" #: ../Doc/library/timeit.rst:87 msgid "The default timer, which is always :func:`time.perf_counter`." msgstr "" #: ../Doc/library/timeit.rst:89 msgid ":func:`time.perf_counter` is now the default timer." msgstr "" #: ../Doc/library/timeit.rst:95 msgid "Class for timing execution speed of small code snippets." msgstr "" #: ../Doc/library/timeit.rst:97 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:105 msgid "" "To measure the execution time of the first statement, use the :meth:`." "timeit` method. The :meth:`.repeat` and :meth:`.autorange` methods are " "convenience methods to call :meth:`.timeit` multiple times." msgstr "" #: ../Doc/library/timeit.rst:109 msgid "" "The execution time of *setup* is excluded from the overall timed execution " "run." msgstr "" #: ../Doc/library/timeit.rst:111 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:121 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:130 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. The 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:142 msgid "Automatically determine how many times to call :meth:`.timeit`." msgstr "" #: ../Doc/library/timeit.rst:144 msgid "" "This is a convenience function that calls :meth:`.timeit` repeatedly so that " "the total time >= 0.2 second, returning the eventual (number of loops, time " "taken for that number of loops). It calls :meth:`.timeit` with increasing " "numbers from the sequence 1, 2, 5, 10, 20, 50, ... until the time taken is " "at least 0.2 second." msgstr "" #: ../Doc/library/timeit.rst:150 msgid "" "If *callback* is given and is not ``None``, it will be called after each " "trial with two arguments: ``callback(number, time_taken)``." msgstr "" #: ../Doc/library/timeit.rst:158 msgid "Call :meth:`.timeit` a few times." msgstr "" #: ../Doc/library/timeit.rst:160 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:167 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:183 msgid "Helper to print a traceback from the timed code." msgstr "" #: ../Doc/library/timeit.rst:185 msgid "Typical use::" msgstr "" #: ../Doc/library/timeit.rst:193 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:201 msgid "Command-Line Interface" msgstr "Interface en ligne de commande" #: ../Doc/library/timeit.rst:203 msgid "" "When called as a program from the command line, the following form is used::" msgstr "" #: ../Doc/library/timeit.rst:207 msgid "Where the following options are understood:" msgstr "" #: ../Doc/library/timeit.rst:213 msgid "how many times to execute 'statement'" msgstr "" #: ../Doc/library/timeit.rst:217 msgid "how many times to repeat the timer (default 5)" msgstr "" #: ../Doc/library/timeit.rst:221 msgid "statement to be executed once initially (default ``pass``)" msgstr "" #: ../Doc/library/timeit.rst:225 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:232 msgid "" "specify a time unit for timer output; can select nsec, usec, msec, or sec" msgstr "" #: ../Doc/library/timeit.rst:238 msgid "print raw timing results; repeat for more digits precision" msgstr "" #: ../Doc/library/timeit.rst:242 msgid "print a short usage message and exit" msgstr "" #: ../Doc/library/timeit.rst:244 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:249 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:252 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 5 repetitions is " "probably enough in most cases. You can use :func:`time.process_time` to " "measure CPU time." msgstr "" #: ../Doc/library/timeit.rst:260 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:269 msgid "Examples" msgstr "Exemples" #: ../Doc/library/timeit.rst:271 msgid "" "It is possible to provide a setup statement that is executed only once at " "the beginning:" msgstr "" #: ../Doc/library/timeit.rst:288 msgid "The same can be done using the :class:`Timer` class and its methods::" msgstr "" #: ../Doc/library/timeit.rst:298 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:344 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:355 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 ""