FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Le Forum est en vacances.
par JL35 Aujourd'hui à 21:20

» Une autre façon de terminer une application.
par JL35 Hier à 14:27

» Compilateur FBPano
par Mike Lun 21 Aoû 2017 - 23:17

» Pb 20 (en analyse): plantage à l'appel d'un SUB
par Jack Lun 21 Aoû 2017 - 21:58

» Pb 19 (en analyse): libellé d'erreur dans des IF imbriqués
par Jack Lun 21 Aoû 2017 - 21:55

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Lun 21 Aoû 2017 - 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Lun 21 Aoû 2017 - 5:01

» Mettre en windows en veille
par papydall Lun 21 Aoû 2017 - 4:15

» Stretch_on ne stretch plus...
par papydall Dim 20 Aoû 2017 - 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Dim 20 Aoû 2017 - 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

» Pb 16 (résolu): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

  Chronométrer un traitement en haute précision

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5522
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Chronométrer un traitement en haute précision   Mer 27 Avr 2016 - 7:56

Vous trouvez qu'une milliseconde c'est trop long ?
Vous voulez compter en microseconde?
D'accord !
On y va  king


Code:

rem ============================================================================
rem          Chronométrer un traitement en haute précision
rem               en fraction de microseconde
rem ============================================================================
' "QueryPerformanceCounter" de kernel32.dll compte le nombre de cycle
' d'horloge du microprocesseur
' "QueryPerformanceFrequency" donne quant à elle le nombre de cycle pour une seconde
' Ces deux API nous permettent de mesurer des écarts de temps de l'ordre du
' millionième de seconde.
rem ============================================================================

dim ret%,Ctr1, Ctr2, freq,Acc,i
font_bold 0
dll_on "kernel32"
ret% = dll_call1("QueryPerformanceCounter",adr(Ctr1)) : ' Commence le chronométrage.
if ret% = 1
   for i = 1 to 100
       Acc = Acc + 1
   next i
   ret% = dll_call1("QueryPerformanceCounter",adr(Ctr2)) : ' Termine le chronométrage.
   print "Valeur de début : " + str$(Ctr1)
   print "Valeur de fin   : " + str$(Ctr2)
   ret% = dll_call1("QueryPerformanceFrequency",adr(freq))
   print "Résolution minimale de QueryPerformanceCounter : 1 / " + str$(freq)
   print "Temps par incréments de 100 : " + str$((Ctr2 - Ctr1) / Freq) + " secondes."
else
   print "Compteur haute résolution non pris en charge."
End_If
end
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Chronométrer un traitement en haute précision   Jeu 28 Avr 2016 - 12:22

Je connais ça, mais ce n'est pas utile(selon moi) car panoramic ne mesure pas des millisecondes, mais des soixantième de seconde.
Code:

' panoramic 0927i7
'
dim init%, old_temps%, cpt%, temps%, old_cpt%
init%=NUMBER_TICKS
old_temps%=init%
cpt%=0
old_cpt%=cpt%

' mesure pendant 100 ms
while temps%<init%+100
   temps%=NUMBER_TICKS
   cpt%=cpt%+1
   '
   if (temps%-old_temps%)>0
      print "delta temps = ";(temps%-old_temps%);string$(20," ");"nb de bouclage = ";cpt%-old_cpt%
      old_cpt%=cpt%
   end_if
   '
   old_temps%=temps%
end_while
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Chronométrer un traitement en haute précision
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Code java pour un chronometre.
» [pas de solution] peux ton Chronométrer la durée de connexion des membres???
» [Résolu] Paramétrer historique de navigation
» Film haute définition
» [Tutoriel]Initiation au traitement d'images numériques

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: