Librairie BC 3.1 pour chronomètrer du code? [C] - C - Programmation
Marsh Posté le 06-10-2006 à 23:30:45
avander a écrit : Ma librairie utilise la fonction clock(), mais je me suis aperçu après coup que la résolution n'est finalement que de 5 centièmes de secondes, tout ce qui est inférieur est zappé et je renvoie un gros zéro... |
55ms, plus précisément...
Pour avoir une meilleure précision, soit on réduit l'unité de temps (pas possible ici), soit on multiplie les tests (et on fait une jolie division). Ca, c'est possible...
Marsh Posté le 06-10-2006 à 23:41:49
Sinon, il y a QueryPerformanceCounter/QueryPerformanceFrequency sous Windows et gettimeofday sous Linux...
Marsh Posté le 07-10-2006 à 09:24:32
spotaszn a écrit : Sinon, il y a QueryPerformanceCounter/QueryPerformanceFrequency sous Windows et gettimeofday sous Linux... |
Si le gars utilise Borland C 3.1, c'est sans doute parce qu'il est sous DOS...
Marsh Posté le 07-10-2006 à 19:56:10
Emmanuel Delahaye a écrit : Si le gars utilise Borland C 3.1, c'est sans doute parce qu'il est sous DOS... |
Alors désolé pour le hors sujet, je ne connais pas trop les compilos C de Borland...
Marsh Posté le 09-10-2006 à 11:06:09
Emmanuel Delahaye a écrit : Si le gars utilise Borland C 3.1, c'est sans doute parce qu'il est sous DOS... |
Gagné! C'était le temps ou il fallait tout faire soi-même...
Marsh Posté le 09-10-2006 à 12:47:22
Oui, oui, mais je suis une bille en assembleur...
maintenant si vous avez un bout de code qui marche en BC 3.1 pourquoi pas!
Marsh Posté le 06-10-2006 à 12:19:40
Pour optimiser un vieux code C je me suis fait une petite librarie chrono avec un ChronoStart(), ChronoEllapsed().
Dans le code existant ça donne:
Ma librairie utilise la fonction clock(), mais je me suis aperçu après coup que la résolution n'est finalement que de 5 centièmes de secondes, tout ce qui est inférieur est zappé et je renvoie un gros zéro...
bref, j'ai plus de zéro qu'autre chose dans mes résultats vu que même sur une vieille bécane le C ça trace...
J'ai déjà trouvé des librairies de 'code timing' sur le net mais rien de simple pour l'instant... ça part direct dans du code assembleur et dans les interruptions, des trucs pas très portables finalement.
Alors, tout ça pour lire l'heure au millième de secondes près?