Python Timeit() avec des exemples
Qu’est ce qu' Python Timeit() ?
Python le temps() est une méthode dans Python bibliothèque pour mesurer le temps d’exécution pris par l’extrait de code donné. Le Python La bibliothèque exécute l'instruction de code 1 million de fois et fournit le temps minimum pris à partir de l'ensemble donné d'extraits de code. Python timeit() est une méthode utile qui permet de vérifier les performances du code.
Syntaxe
timeit.timeit(stmt, setup,timer, number)
Paramètres
- stmt: Cela prendra le code pour lequel vous souhaitez mesurer le temps d'exécution. La valeur par défaut est « réussite ».
- installation: Cela contiendra les détails de configuration qui doivent être exécutés avant stmt. La valeur par défaut est « réussite ».
- minuteur: Cela aura la valeur du timer, timeit() a déjà une valeur par défaut définie et nous pouvons l'ignorer.
- nombre: Le stmt s'exécutera selon le numéro indiqué ici. La valeur par défaut est 1000000 .
Pour travailler avec timeit(), nous devons importer le module, comme indiqué ci-dessous :
import timeit
Premier exemple
Voici un exemple simple de la fonction timeit()
Exemple de code 1
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
Sortie :
0.06127880399999999
Nous avons vu un exemple simple qui nous donne le temps d'exécution de la sortie de l'instruction de code simple = 10*5, et le temps nécessaire à son exécution est de 0.06127880399999999.
Timing Plusieurs lignes dans le code python
Il existe deux manières d'exécuter plusieurs lignes de code dans timeit.timeit() : en séparant les lignes par des points-virgules ou en enfermant le code sous forme de chaîne avec des guillemets triples.
Voici des exemples qui montrent son fonctionnement.
Exemple 1 : Utilisation du point-virgule
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Sortie :
The time taken is 0.137031482
Exemple 2 : Utilisation de guillemets triples
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
Sortie :
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – Méthodes
Voici 2 méthodes timeit importantes
timeit.default_timer() : Cela renverra l'heure par défaut lors de l'exécution.
timeit.repeat (stmt, configuration, minuterie, répétition, numéro) : identique à timeit() , mais avec la répétition, le timeit() est appelé le nombre de fois que la répétition est donnée.
Exemple de programme 1
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))
Sortie :
0.46715912400000004
Exemple 2
exemple default_timer()
# testing timeit() import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print("The start time is :",starttime) test() print("The time difference is :", timeit.default_timer() - starttime)
Sortie :
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
Exemple 3 : timeit.repeat()
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
Sortie :
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() fonctionne de manière similaire à la fonction timeit.timeit(), avec la seule différence qu'elle prend l'argument de répétition et restitue le temps d'exécution au format tableau avec des valeurs selon le numéro de répétition.
Exécution de la fonction de synchronisation timeit.timeit() dans l'interface de ligne de commande
La syntaxe pour exécuter votre fonction dans timeit() sur la ligne de commande est la suivante :
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
Paramètres de ligne de commande:
- -n N : le nombre de fois que vous souhaitez que le code soit exécuté.
- -r N : le nombre de fois que vous souhaitez que la fonction timeit() se répète
- -s S : cela contiendra les détails de configuration qui seront exécutés avant l'exécution du code.
- -t : pour cela, vous pouvez utiliser time.time()
- -c : pour cela, vous pouvez utiliser time.clock()
- -h : pour obtenir de l'aide
- instruction de code : les détails du code.
Exemple
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
Une autre façon d'exécuter en ligne de commande est la suivante :
Exemple
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
Pourquoi timeit() est-il le meilleur moyen de mesurer le temps d'exécution de Python code?
Voici quelques raisons pour lesquelles nous considérons timeit() comme le meilleur moyen de mesurer le temps d'exécution.
- Il exécute l'instruction de code 1 million de fois, ce qui est la valeur par défaut, et à partir de là, il vous renverra le temps minimum pris. Vous pouvez également augmenter/diminuer le million en définissant le numéro d'argument dans la fonction time().
- Lors de l'exécution du test, le garbage collection est désactivé à chaque fois par la fonction time().
- timeit() prend en interne l'heure précise selon votre système d'exploitation utilisé. Par exemple, il utilisera time.clock() pour Windows système d'exploitation et time.time() pour Mac et Linux.
Résumé
Timeit() est utilisé pour obtenir le temps d'exécution du petit code donné
Paramètres utilisés avec timeit()
- stmt : Cela prendra le code dont vous souhaitez mesurer le temps d'exécution
- setup : cela contiendra les détails de configuration qui doivent être exécutés avant stmt
- timer : Cela aura la valeur du timer, timeit() a déjà une valeur par défaut définie et nous pouvons l'ignorer.
- number : Le stmt s’exécutera selon le numéro indiqué ici.