A voir également:
- Scilab et Temps de calcul
- Calcul moyenne excel - Guide
- Scilab - Télécharger - Édition & Programmation
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
- Renommer plusieurs fichiers en même temps - Guide
- Combien de temps reste une story sur facebook - Guide
5 réponses
Bonjour thorias,
la syntaxe d'utilisation des fonction tic()/toc() est la suivante :
tic()//démarre le chronomètre
....//liste d'instruction dont tu veux chronométrer l'exécution
toc()//arrête le chronomètre et renvoie le temps CPU écoulé depuis le dernier appel à tic()
par exemple si tu exécutes le script suivant :
8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----
tic()
s=0;
for k=1:10^5
s=s+1/k^2;
end
temps=toc()
8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----
tu aura dans la variable "temps" le temps écoulé entre tic() et toc().
Deux remarques importantes :
- si le temps d'exécution est trop court (<1 mlilliseconde) alors toc() renvoie 0
- si les instructions entre tic() et toc() provoque des affichages dans la console le temps mesuré entre tic() et toc() va contenir le temps nécessaire à l'affichage (qui peut être beaucoup plus long que le temps d'éxécution en particulier si scilab s'est arrêté en te demandant "[More (y or n ) ?]" ...) c'est pour cette raison que dans mon exemple je mes des point-virgules après chaque instruction.
Philippe.
la syntaxe d'utilisation des fonction tic()/toc() est la suivante :
tic()//démarre le chronomètre
....//liste d'instruction dont tu veux chronométrer l'exécution
toc()//arrête le chronomètre et renvoie le temps CPU écoulé depuis le dernier appel à tic()
par exemple si tu exécutes le script suivant :
8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----
tic()
s=0;
for k=1:10^5
s=s+1/k^2;
end
temps=toc()
8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----
tu aura dans la variable "temps" le temps écoulé entre tic() et toc().
Deux remarques importantes :
- si le temps d'exécution est trop court (<1 mlilliseconde) alors toc() renvoie 0
- si les instructions entre tic() et toc() provoque des affichages dans la console le temps mesuré entre tic() et toc() va contenir le temps nécessaire à l'affichage (qui peut être beaucoup plus long que le temps d'éxécution en particulier si scilab s'est arrêté en te demandant "[More (y or n ) ?]" ...) c'est pour cette raison que dans mon exemple je mes des point-virgules après chaque instruction.
Philippe.
salut à tous !
je viens avec bcp de retard mais ca pourra servir a d'autres.
moi j'utilise ca :
pvm_set_timer() // on met le timer à zéro
ton code
pvm_get_timer() // scilab te donne le temps ecoule depuis le set_timer
bonne journee !
ed
je viens avec bcp de retard mais ca pourra servir a d'autres.
moi j'utilise ca :
pvm_set_timer() // on met le timer à zéro
ton code
pvm_get_timer() // scilab te donne le temps ecoule depuis le set_timer
bonne journee !
ed
bonjour
juste pour ajouter qu'on peut comparer les temps CPU en utilisant la fonction timer() qui s'utilise de la façon suivante
timer()
opérations;
rigolade;
café;
temps = timer()
il ne prend en compte que les cycles où Scilab utilise effectivement la ressource CPU.
après je n'ai pas fait de test pour vérifier la validité des résultats, je fais confiance à l'aide Scilab
bisou les loulous
juste pour ajouter qu'on peut comparer les temps CPU en utilisant la fonction timer() qui s'utilise de la façon suivante
timer()
opérations;
rigolade;
café;
temps = timer()
il ne prend en compte que les cycles où Scilab utilise effectivement la ressource CPU.
après je n'ai pas fait de test pour vérifier la validité des résultats, je fais confiance à l'aide Scilab
bisou les loulous
Merci philippe,
Mon problème venait alors du temps pris par ma procédure ! beaucoup trop courte, et sinon est ce que le temps de calcul prend en compte juste le nombre d' "actions" fait par le programme ou depend des activité windows ??
Mon problème venait alors du temps pris par ma procédure ! beaucoup trop courte, et sinon est ce que le temps de calcul prend en compte juste le nombre d' "actions" fait par le programme ou depend des activité windows ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour Thorias,
il est clair que si windows est occupé à autre chose pendant que tu lances un calcul dans scilab ça va influer (négativement) sur le temps de réponse, donc sur le temps CPU renvoyé par toc(). Si tu veux faire des tests pour confirmer une complexité estimée d'un algorithme, il faut faire attention qu'il y ait le moins de choses possible à tourner sur la machine.
Philippe.
il est clair que si windows est occupé à autre chose pendant que tu lances un calcul dans scilab ça va influer (négativement) sur le temps de réponse, donc sur le temps CPU renvoyé par toc(). Si tu veux faire des tests pour confirmer une complexité estimée d'un algorithme, il faut faire attention qu'il y ait le moins de choses possible à tourner sur la machine.
Philippe.