[PYTHON] Traiter le résultat de% time,% timeit

Il est bien connu que Jupyter / IPython peut mesurer le temps d'exécution avec % time et% timeit, mais avez-vous déjà voulu traiter ou visualiser cela?

Vous pouvez utiliser %% capture pour traiter la sortie standard comme un objet Python. Faisons-le réellement.

%%capture result
%timeit 2 ** 100

L'argument de %% capture est le nom de l'objet, voir l'aide pour d'autres options.

  %capture [--no-stderr] [--no-stdout] [--no-display] [output]

run the cell, capturing stdout, stderr, and IPython's rich display() calls.

positional arguments:
  output        The name of the variable in which to store output. This is a utils.io.CapturedIO
                object with stdout/err attributes for the text of the captured output.
                CapturedOutput also has a show() method for displaying the output, and __call__ as
                well, so you can use that to quickly display the output. If unspecified, captured
                output is discarded.

Si vous regardez l'attribut stdout, vous pouvez voir que la sortie standard est stockée dans la chaîne.

print(result.stdout)
292 ns +- 4.24 ns per loop (mean +- std. dev. of 7 runs, 1000000 loops each)

Convertissons cette partie 292 ns en secondes afin qu'elle puisse être traitée comme une valeur numérique.

value, unit = result.stdout.split()[:2]
float(value) * {"s": 1, "ms": 1e-3, "us": 1e-6, "ns": 1e-9}[unit]
2.92e-07

Non limité à % timeit, vous pouvez utiliser %% capture pour traiter diverses sorties de Jupyter. Bonne vie à Jupyter!

Recommended Posts

Traiter le résultat de% time,% timeit
Grattage du résultat de "Schedule-kun"
Implémenter une partie du processus en C ++
Le résultat de l'installation de python sur Anaconda
Définissez le nom du processus du programme Python
mesure du temps
J'ai essayé de mesurer le temps d'attente de la file d'attente d'exécution d'un processus sous Linux
Afficher le résultat du traitement de la géométrie en Python
Lire la sortie du sous-processus, ouvrir en temps réel
Envoyer Gmail à la fin du processus [Python]
Extrait uniquement complet du résultat de Trinity
Au moment de la mise à jour de python avec ubuntu
Je souhaite stocker les résultats de% time, %% time, etc. dans un objet (variable)
Le début de cif2cell
Un mémorandum sur les avertissements dans les résultats de sortie de pylint
Je veux grep le résultat de l'exécution de strace
Déterminer et traiter automatiquement l'encodage du fichier texte
Le sens de soi
Le processus d'installation d'Atom et de l'exécution de Python
Processus de compétition Kaggle du point de vue de la transition des scores
le zen de Python
L'histoire de sys.path.append ()
Mesure du temps d'exécution
Diminuer le nom de classe de l'affichage des résultats de détection de la détection d'objets
Afficher le résultat de sortie de sklearn.metrics.classification_report sous forme de fichier CSV
Vérifiez le temps de traitement et le nombre d'appels pour chaque processus avec python (cProfile)
La vengeance des types: la vengeance des types
Ce que vous ne devriez pas faire dans le processus d'analyse des données de séries chronologiques (y compris la réflexion)
Comprenez le processus de tri par fusion. Démontez finement en suivant le flux.
Mesurons le résultat de l'exécution du programme avec C ++, Java, Python.
Exécutons la commande à temps avec le bot discord
Grep pour que grep n'apparaisse pas au moment de grep
Résumé des points d'achoppement à Django pour la première fois
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
Une doublure qui réécrit de manière aléatoire l'heure de démarrage de cron
Reformatez l'axe des temps du graphique de la série chronologique des pandas avec matplotlib
Attacher au processus Python de la destination SSH et déboguer
Le processus de création et d'amélioration du code Python orienté objet
[Baies non paramétriques] Estimation du nombre de clusters à l'aide du processus Diricle
Sortie du résultat de la méthode de descente de dégradé sous forme d'animation matplotlib
Aligner la version de chromedriver_binary
Premier Kaggle (kaggle ①)
10. Compter le nombre de lignes
L'histoire de la construction de Zabbix 4.4
Vers la retraite de Python2
Tuez le processus avec sudo kill -9
Mettre le processus en veille pendant un certain temps (secondes) ou plus en Python
Comparez les polices de jupyter-themes
Obtenez le nombre de chiffres
Expliquez le code de Tensorflow_in_ROS
Réutiliser les résultats du clustering
Kaguru pour la première fois
GoPiGo3 du vieil homme
Calculez le nombre de changements
Changer le thème de Jupyter
La popularité des langages de programmation
Changer le style de matplotlib
Visualisez la trajectoire de Hayabusa 2