temps cpu / Canal d'erreur
Bonjour,
Cela faisant quelques heures que je me prend la tête sur une question qui doit être vraiment basique, je me permet de me tourner vers vous.
Le problème : exécuter une centaine de fois un de mes scripts c++ (avec des paramètres différents chaque fois), et mesurer le temps cpu de chacune des 100 exécutions. Plus précisement, je voudrais avoir un fichier avec une structure de la forme :
Code:
1 2 3 4 5 6
|
->Résultats de l'exécution 1
->Temps de l'exécution 1
->Résultats de l'exécution 2
->Temps de l'exécution 2
etc... |
En utilisant la fonction "time", je me suis heurté aux problèmes suivants :
-L'option "-o" (et "--output") indiquée dans le manuel, me retourne une erreur. Plus précisemment :
Code:
time --output=test.txt ./main
me retourne
Code:
bash: --output=test.txt : commande introuvable
-En tentant de rediriger le canal d'erreur standard vers le fichier où je voudrais tout avoir, je me retrouve avec tous les temps en haut, et les résultats en bas ; cad quelque chose de la forme
Code:
1 2 3 4 5
|
->Temps de l'exécution 1
->Temps de l'exécution 2
->Résultats de l'exécution 1
->Résultats de l'exécution 2 |
; ce qui est assez inexploitable
-En tentant de copier, après chaque exécution, le fichier où est redirigé le canal d'erreur, vers le fichiers où sont les résutlats, cad en faisant :
Code:
1 2 3 4 5 6 7 8 9
|
exec 2>/...chemin.../erreurs.txt 1>/..chemin.../resultats.txt
for N in 50 100; do
time /...chemin.../main $N
cat /...chemin.../erreurs.txt >> /...chemin.../resultats.txt
rm /...chemin.../erreurs.txt
touch /...chemin.../erreurs.txt
done |
; ça ne marche pas non plus (erreurs.txt n'est pas recopié dans resultats.txt)
Bref, avez vous une idée pour me permettre d'aboutir au résultat souhaité ?
Merci par avance de vos suggestions !