# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" "PO-Revision-Date: 2022-10-18 15:58+0200\n" "Last-Translator: Jean Abou Samra \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" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 2.4.1\n" #: library/timeit.rst:2 msgid ":mod:`timeit` --- Measure execution time of small code snippets" msgstr ":mod:`timeit` — Mesurer le temps d'exécution de fragments de code" #: library/timeit.rst:7 msgid "**Source code:** :source:`Lib/timeit.py`" msgstr "**Code source :** :source:`Lib/timeit.py`" #: 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 second edition of *Python Cookbook*, published by O'Reilly." msgstr "" "Ce module fournit une façon simple de mesurer le temps d'exécution de " "fragments de code Python. Il expose une :ref:`timeit-command-line-interface` " "ainsi qu'une :ref:`interface Python `. Ce module permet " "d'éviter un certain nombre de problèmes classiques liés à la mesure des " "temps d'exécution. Voir par exemple à ce sujet l'introduction par Tim Peters " "du chapitre « Algorithmes » dans la seconde édition du livre *Python " "Cookbook*, aux éditions O'Reilly." #: library/timeit.rst:23 msgid "Basic Examples" msgstr "Exemples simples" #: 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 "" "L'exemple suivant illustre l'utilisation de l':ref:`timeit-command-line-" "interface` afin de comparer trois expressions différentes :" #: library/timeit.rst:37 msgid "This can be achieved from the :ref:`python-interface` with::" msgstr "L':ref:`python-interface` peut être utilisée aux mêmes fins avec ::" #: library/timeit.rst:47 msgid "A callable can also be passed from the :ref:`python-interface`::" msgstr "" "Un objet appelable peut également être passé en argument à l':ref:`python-" "interface` ::" #: library/timeit.rst:52 msgid "" "Note however that :func:`.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 "" "Notez cependant que :func:`.timeit` détermine automatiquement le nombre de " "répétitions seulement lorsque l'interface en ligne de commande est utilisée. " "Vous pouvez trouver des exemples d'usages avancés dans la section :ref:" "`timeit-examples`." #: library/timeit.rst:60 msgid "Python Interface" msgstr "Interface Python" #: library/timeit.rst:62 msgid "The module defines three convenience functions and a public class:" msgstr "" "Ce module définit une classe publique ainsi que trois fonctions destinées à " "simplifier son usage :" #: library/timeit.rst:67 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 "" "Crée une instance d'objet :class:`Timer` à partir de l'instruction donnée, " "du code *setup* et de la fonction *timer*, puis exécute sa méthode :meth:`." "timeit` à *number* reprises. L'argument optionnel *globals* spécifie un " "espace de nommage dans lequel exécuter le code." #: library/timeit.rst:83 library/timeit.rst:120 msgid "The optional *globals* parameter was added." msgstr "Le paramètre optionnel *globals* a été ajouté." #: library/timeit.rst:78 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 "" "Crée une instance d'objet :class:`Timer` à partir de l'instruction donnée, " "du code *setup* et de la fonction *timer*, puis exécute sa méthode :meth:`." "repeat` à *number* reprises, *repeat* fois. L'argument optionnel *globals* " "spécifie un espace de nommage dans lequel exécuter le code." #: library/timeit.rst:181 msgid "Default value of *repeat* changed from 3 to 5." msgstr "La valeur par défaut de *repeat* est passée de 3 à 5." #: library/timeit.rst:91 msgid "The default timer, which is always :func:`time.perf_counter`." msgstr "Le minuteur par défaut, qui est toujours :func:`time.perf_counter`." #: library/timeit.rst:93 msgid ":func:`time.perf_counter` is now the default timer." msgstr ":func:`time.perf_counter` est désormais le minuteur par défaut." #: library/timeit.rst:99 msgid "Class for timing execution speed of small code snippets." msgstr "" "Classe permettant de mesurer le temps d'exécution de fragments de code." #: library/timeit.rst:101 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 "" "Ce constructeur prend en argument une instruction dont le temps d'exécution " "doit être mesuré, une instruction additionnelle de mise en place et une " "fonction de chronométrage. Les deux instructions valent ``'pass'`` par " "défaut; la fonction de chronométrage dépend de la plateforme d'exécution (se " "référer au *doc string* du module). *stmt* et *setup* peuvent contenir " "plusieurs instructions séparées par des ``;`` ou des sauts de lignes tant " "qu'ils ne comportent pas de littéraux sur plusieurs lignes. L'instruction " "est exécutée dans l'espace de nommage de *timeit* par défaut ; ce " "comportement peut être modifié en passant un espace de nommage au paramètre " "*globals*." #: library/timeit.rst:109 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 "" "Pour mesurer le temps d'exécution de la première instruction, utilisez la " "méthode :meth:`.timeit`. Les méthodes :meth:`.repeat` et :meth:`.autorange` " "sont des méthodes d'agrément permettant d'appeler :meth:`.timeit` à " "plusieurs reprises." #: library/timeit.rst:113 msgid "" "The execution time of *setup* is excluded from the overall timed execution " "run." msgstr "" "Le temps d'exécution de *setup* n'est pas pris en compte dans le temps " "global d'exécution." #: library/timeit.rst:115 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 "" "Les paramètres *stmt* et *setup* peuvent également recevoir des objets " "appelables sans argument. Ceci transforme alors les appels à ces objets en " "fonction de chronométrage qui seront exécutées par :meth:`.timeit`. Notez " "que le surcoût lié à la mesure du temps d'exécution dans ce cas est " "légèrement supérieur en raisons des appels de fonction supplémentaires." #: library/timeit.rst:125 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 "" "Mesure le temps *number* exécution de l'instruction principale. Ceci exécute " "l'instruction de mise en place une seule fois puis renvoie un flottant " "correspondant au temps nécessaire à l'exécution de l'instruction principale " "à plusieurs reprises, mesuré en secondes. L'argument correspond au nombre " "d'itérations dans la boucle, par défaut un million. L'instruction " "principale, l'instruction de mise en place et la fonction de chronométrage " "utilisée sont passées au constructeur." #: library/timeit.rst:134 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 "" "Par défaut, :meth:`.timeit` désactive temporairement le :term:`ramasse-" "miettes` pendant le chronométrage. Cette approche a l'avantage de permettre " "de comparer des mesures indépendantes. L'inconvénient de cette méthode est " "que le ramasse-miettes peut avoir un impact significatif sur les " "performances de la fonction étudiée. Dans ce cas, le ramasse-miettes peut " "être réactivé en première instruction de la chaîne *setup*. Par exemple ::" #: library/timeit.rst:146 msgid "Automatically determine how many times to call :meth:`.timeit`." msgstr "Détermine automatiquement combien de fois appeler :meth:`.timeit`." #: library/timeit.rst:148 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 "" "Cette fonction d'agrément appelle :meth:`.timeit` à plusieurs reprises " "jusqu'à ce que le temps total écoulé soit supérieur à 0,2 secondes et " "renvoie le couple (nombre de boucles, temps nécessaire pour exécuter ce " "nombre de boucles). Elle appelle :meth:`.timeit` avec un nombre d'itérations " "croissant selon la séquence 1, 2, 5, 10, 20, 50, … jusqu'à ce que le temps " "d'exécution dépasse 0,2 secondes." #: library/timeit.rst:154 msgid "" "If *callback* is given and is not ``None``, it will be called after each " "trial with two arguments: ``callback(number, time_taken)``." msgstr "" "Si *callback* est spécifié et n'est pas ``None``, elle est appelée après " "chaque itération avec deux arguments (numéro de l'itération et temps " "écoulé) : ``callback(number, time_taken)``." #: library/timeit.rst:162 msgid "Call :meth:`.timeit` a few times." msgstr "Appelle :meth:`.timeit` plusieurs fois." #: library/timeit.rst:164 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 "" "Cette fonction d'agrément appelle :meth:`.timeit` à plusieurs reprises et " "renvoie une liste de résultats. Le premier argument spécifie le nombre " "d'appels à :meth:`.timeit`. Le second argument spécifie l'argument *number* " "de :meth:`.timeit`." #: library/timeit.rst:171 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 "" "Il est tentant de vouloir calculer la moyenne et l'écart-type des résultats " "et notifier ces valeurs. Ce n'est cependant pas très utile. En pratique, la " "valeur la plus basse donne une estimation basse de la vitesse maximale à " "laquelle votre machine peut exécuter le fragment de code spécifié ; les " "valeurs hautes de la liste sont typiquement provoquées non pas par une " "variabilité de la vitesse d'exécution de Python, mais par d'autres processus " "interférant avec la précision du chronométrage. Le :func:`min` du résultat " "est probablement la seule valeur à laquelle vous devriez vous intéresser. " "Pour aller plus loin, vous devriez regarder l'intégralité des résultats et " "utiliser le bon sens plutôt que les statistiques." #: library/timeit.rst:187 msgid "Helper to print a traceback from the timed code." msgstr "Outil permettant d'afficher la trace du code chronométré." #: library/timeit.rst:189 msgid "Typical use::" msgstr "Usage typique ::" #: library/timeit.rst:197 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 "" "L'avantage par rapport à la trace standard est que les lignes sources du " "code compilé sont affichées. Le paramètre optionnel *file* définit l'endroit " "où la trace est envoyée, par défaut :data:`sys.stderr`." #: library/timeit.rst:205 msgid "Command-Line Interface" msgstr "Interface en ligne de commande" #: library/timeit.rst:207 msgid "" "When called as a program from the command line, the following form is used::" msgstr "" "Lorsque le module est appelé comme un programme en ligne de commande, la " "syntaxe suivante est utilisée ::" #: library/timeit.rst:211 msgid "Where the following options are understood:" msgstr "Les options suivantes sont gérées :" #: library/timeit.rst:217 msgid "how many times to execute 'statement'" msgstr "nombre d'exécutions de l'instruction *statement*" #: library/timeit.rst:221 msgid "how many times to repeat the timer (default 5)" msgstr "nombre de répétitions du chronomètre (5 par défaut)" #: library/timeit.rst:225 msgid "statement to be executed once initially (default ``pass``)" msgstr "" "instruction exécutée une seule fois à l'initialisation (``pass`` par défaut)" #: library/timeit.rst:229 msgid "" "measure process time, not wallclock time, using :func:`time.process_time` " "instead of :func:`time.perf_counter`, which is the default" msgstr "" "mesure le temps au niveau du processus et non au niveau du système, en " "utilisant :func:`time.process_time` plutôt que :func:`time.perf_counter` qui " "est utilisée par défaut" #: library/timeit.rst:236 #, fuzzy msgid "" "specify a time unit for timer output; can select ``nsec``, ``usec``, " "``msec``, or ``sec``" msgstr "" "spécifie l'unité de temps utilisée pour la sortie du chronomètre (parmi " "*nsec*, *usec*, *msec* ou *sec*)" #: library/timeit.rst:242 msgid "print raw timing results; repeat for more digits precision" msgstr "affiche les temps d'exécutions bruts, répéter pour plus de précision" #: library/timeit.rst:246 msgid "print a short usage message and exit" msgstr "affiche un court message d'aide puis quitte" #: library/timeit.rst:248 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 "" "Une instruction sur plusieurs lignes peut être donnée en entrée en " "spécifiant chaque ligne comme un argument séparé. Indenter une ligne est " "possible en encadrant l'argument de guillemets et en le préfixant par des " "espaces. Plusieurs :option:`-s` sont gérées de la même façon." #: library/timeit.rst:253 msgid "" "If :option:`-n` is not given, a suitable number of loops is calculated by " "trying increasing numbers from the sequence 1, 2, 5, 10, 20, 50, ... until " "the total time is at least 0.2 seconds." msgstr "" "Si :option:`-n` n'est pas donnée, un nombre de boucles approprié est calculé " "en essayant des nombres croissants de la séquence 1, 2, 5, 10, 20, 50, ... " "jusqu'à ce que le temps total d'exécution dépasse 0,2 secondes." #: library/timeit.rst:257 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 "" "Les mesures de :func:`default_timer` peuvent être altérées par d'autres " "programmes s'exécutant sur la même machine. La meilleure approche lorsqu'un " "chronométrage exact est nécessaire est de répéter celui-ci à plusieurs " "reprises et considérer le meilleur temps. L'option :option:`-r` est adaptée " "à ce fonctionnement, les cinq répétitions par défaut suffisent probablement " "dans la plupart des cas. Vous pouvez utiliser :func:`time.process_time` pour " "mesurer le temps processeur." #: library/timeit.rst:265 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 "" "Il existe un surcoût minimal associé à l'exécution de l'instruction " "``pass``. Le code présenté ici ne tente pas de le masquer, mais vous devez " "être conscient de son existence. Ce surcoût minimal peut être mesuré en " "invoquant le programme sans argument ; il peut différer en fonction des " "versions de Python." #: library/timeit.rst:274 msgid "Examples" msgstr "Exemples" #: library/timeit.rst:276 msgid "" "It is possible to provide a setup statement that is executed only once at " "the beginning:" msgstr "" "Il est possible de fournir une instruction de mise en place exécutée une " "seule fois au début du chronométrage :" #: library/timeit.rst:285 msgid "" "In the output, there are three fields. The loop count, which tells you how " "many times the statement body was run per timing loop repetition. The " "repetition count ('best of 5') which tells you how many times the timing " "loop was repeated, and finally the time the statement body took on average " "within the best repetition of the timing loop. That is, the time the fastest " "repetition took divided by the loop count." msgstr "" #: library/timeit.rst:300 msgid "The same can be done using the :class:`Timer` class and its methods::" msgstr "" "La même chose peut être réalisée en utilisant la classe :class:`Timer` et " "ses méthodes ::" #: library/timeit.rst:310 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 "" "Les exemples qui suivent montrent comment chronométrer des expressions sur " "plusieurs lignes. Nous comparons ici le coût d'utilisation de :func:" "`hasattr` par rapport à :keyword:`try`/:keyword:`except` pour tester la " "présence ou l'absence d'attributs d'un objet :" #: library/timeit.rst:356 msgid "" "To give the :mod:`timeit` module access to functions you define, you can " "pass a *setup* parameter which contains an import statement::" msgstr "" "Afin de permettre à :mod:`timeit` d'accéder aux fonctions que vous avez " "définies, vous pouvez passer au paramètre *setup* une instruction " "d'importation ::" #: library/timeit.rst:367 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 "" "Une autre possibilité est de passer :func:`globals` au paramètre *globals*, " "ceci qui exécutera le code dans l'espace de nommage global courant. Cela " "peut être plus pratique que de spécifier manuellement des importations ::"