[PYTHON] Mesure du temps de calcul à l'aide de maf

Lorsque je crée un nouveau programme, j'expérimente souvent divers paramètres pour mesurer le type de paramètres et le temps de calcul.

Afin de mesurer cela, il est nécessaire d'extraire et de collecter le temps de la sortie de chaque résultat. Vous pouvez le faire manuellement si vous en avez quelques-uns, mais si vous avez beaucoup de combinaisons de paramètres, vous ne pouvez pas le faire à la main, alors utilisez un script. Pour ce faire, vous devez écrire des scripts pour la génération de paramètres, l'analyse des résultats et la collecte des résultats. J'ai le sentiment qu'un tel traitement est souvent utilisé en commun, alors j'ai trouvé un maf à l'endroit où je me demandais si je pouvais créer une bibliothèque et j'ai essayé de l'utiliser.

Je n'avais pas d'échantillon pour mesurer le temps de calcul avec l'échantillon maf actuel, alors j'en ai fait un.

À propos de maf

Pour plus de détails, il est préférable de lire ici (http://research.preferred.jp/2013/12/maf/), mais en termes simples, cela se fait en étendant le système de construction écrit en python appelé waf. C'est un outil de support expérimental.

Avec cela, vous pouvez facilement énumérer les combinaisons de paramètres et résumer facilement les résultats expérimentaux. Merveilleux!

wscript et résultats expérimentaux

Comme waf, maf doit écrire Makefile dans la commande make appelée wscript. wscript etc. se trouvent aux endroits suivants. https://github.com/shu65/maf_measure_computing_time

Dans ce wscript, «sleep 0», «sleep 1», «sleep 2» sont exécutés 3 fois chacun, le temps est mesuré à l'aide de la commande time, et le temps de calcul moyen est calculé pour chaque paramètre, qui est un échantillon très simple. Il est devenu.

La méthode d'exécution après git clone est la suivante.

python


cd maf_measure_computing_time
./waf configure
./waf experiment -j 1 

Notez que sans le "-j 1" final, vous ne pourrez pas mesurer avec précision le temps de calcul en exécutant plusieurs combinaisons d'expériences de paramètres en même temps.

finalement

Actuellement, je ne veux pas exécuter en parallèle uniquement pour mesurer le temps, mais je ne peux pas le spécifier avec wscript, donc j'aimerais améliorer cette zone et envoyer une Pull Request à l'avenir ...

Recommended Posts

Mesure du temps de calcul à l'aide de maf
Mesure du temps à l'aide d'une horloge
mesure du temps
mesure du temps python
Calcul de l'âge à l'aide de python
Mesure du temps d'exécution
Problème de calcul avec le mod
Mémo de mesure du temps d'exécution Python
# 1 [python3] Calcul simple à l'aide de variables
Opérateur de calcul de temps datetime timedelta
Mesure du temps d'exécution avec Python avec
Écrire la mesure du temps de traitement un peu plus facilement en utilisant la clause with
Calcul de la fidélité des clients dans les séries chronologiques
Calcul du vecteur normal par convolution
Mesure collective du volume à l'aide du FSL
[FSL] Mesure d'image à l'aide du ROI (VOI)
python> Traitement de la mesure du temps> time.time () --start_time