0
votes

Script d'emballage qui enregistrerait l'heure d'exécution d'un autre script avec des paramètres

j'ai un wrapper script wrapper.py qui serait temps la pleine exécution de benchrun.py

Disons que je gère le Benchrun.py en utilisant cette commande:

python benchrun.py --host {hôte} -f {testfile} -t {Nombre de threads} -s {Mongo shell chemin}

Que dois-je mettre dans le script wrapper pour exécuter le script Benchrun.py et obtenir le temps d'exécution?


1 commentaires

Je vous recommanderais de regarder dans le module Timeit pour Python. C'est spécialement ce qu'il a été conçu à faire. Exécutez le code et le temps combien de temps il faut pour exécuter ledit code.


4 Réponses :


0
votes

Vous devez prendre le temps avant et après l'exécution et réduire entre eux afin d'obtenir l'heure d'exécution;

dans le script wrapper: strong> p> xxx

avant l'exécution: strong> p> xxx pré>

après l'exécution: strong> p>

after = time.clock()
totaltime = after-before


1 commentaires

Si vous souhaitez une synchronisation de précision, vous ne devez pas utiliser DateTime, mais utilisez plutôt TIME.CLOCK .



0
votes

Utilisez-vous OS.System pour appeler le Benchrun.py? Si c'est le cas, il suffit de définir DateTime.Now () dans le début et après le retour et calculez le delta. Cela devrait fonctionner.


1 commentaires

Oui j'utilise OS.System. J'utilise le temps.time () pour l'instant. Pouvez-vous donner l'exemple de sortie de DateTime.now ()? C'est la différence de temps.time



0
votes
# benchrun.py
from timer import timer


@timer
def benchrun():
    ...

1 commentaires

Par Wrapper, je supposais que vous vouliez un décorateur pendant lequel des fonctions. Assurez-vous également de modifier le formatage de la chaîne si vous avez besoin de plus de précision - je gaspille des données en arrondissant à deux décimales, mais vous avez la liberté d'augmenter cela.



0
votes

premier, benchrun.py xxx

wrapper: xxx


0 commentaires