DateTime et millisecondes [Résolu]

tmcuh 463 Messages postés dimanche 22 décembre 2002Date d'inscription 18 avril 2009 Dernière intervention - 1 août 2006 à 13:22 - Dernière réponse : tmcuh 463 Messages postés dimanche 22 décembre 2002Date d'inscription 18 avril 2009 Dernière intervention
- 1 août 2006 à 16:31
Bonjour j'ai une question que j'arrive pas à résoudre. Pourquoi lorsque je fais


for(int i =0; i<= 100; i++)

    Console.Write("millisecondes : {0}\n", DateTiime.Now.Millisecond);


Il ne change que toute les 10-15 lignes (suivant les processeurs à mon avis)?

On voit clairement que chaque phase de l'execution prend au moins 1 ms
vu qu'il passe de bloc en bloc. Alors pourquoi ne raffraichit-il pas la
donnée à chaque ligne?

Par avance merci
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 1 août 2006 à 16:06
3
Merci
Salut, pour avoir des valeurs bien plus précises utilise la classe StopWatch. Ton instruction prend biens moins d'un seconde mais par moment le processeur est occupé ailleurs, peut être le garbage collector.

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de Lutinore
gcorbineau 143 Messages postés vendredi 28 janvier 2005Date d'inscription 25 octobre 2006 Dernière intervention - 1 août 2006 à 13:36
0
Merci
je ne comprends pas ce que tu dis:

"On voit clairement que chaque phase de l'execution prend au moins 1 ms vu qu'il passe de bloc en bloc."

Ta ligne :
Console.Write("millisecondes : {0}\n", DateTiime.Now.Millisecond);

est executer en d'1ms(et heuresement) c'est pour cette raison quelle ne change pas à chaque fois.
Commenter la réponse de gcorbineau
bernie666 427 Messages postés mercredi 1 octobre 2003Date d'inscription 29 janvier 2008 Dernière intervention - 1 août 2006 à 13:45
0
Merci
    lol c'est sur heureusement qu'il execute en moins d'une millisecondes cette instruction :p
Si tu veux vraiment afficher sur chaques ligne le temps ... je te conseille d'utiliser un timer et a chaque interval d'1ms => Console.Write("millisecondes : {0}\n", DateTiime.Now.Millisecond);
Commenter la réponse de bernie666
tmcuh 463 Messages postés dimanche 22 décembre 2002Date d'inscription 18 avril 2009 Dernière intervention - 1 août 2006 à 14:10
0
Merci
Bon je vais sortir ce que la console me renvoie :


ms : 218

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 328

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338

ms : 338


Là j'ai fait qu'une boucle jusque 40, on voit qu'il donne le meme
résultat et puis op il passe de 10 et continu... comme si le code resté
en mémoire et qu'il le reprennait et quand il se rendait compte que la
valeur avait changé, il la changé. Je trouve ça très troublant.
J'aurais plus aimé connaitre le fond du problème, plutôt que me
résoudre à penser que c'est comme ça et puis c'est tout.

Amicalement TMCUH
Commenter la réponse de tmcuh
tmcuh 463 Messages postés dimanche 22 décembre 2002Date d'inscription 18 avril 2009 Dernière intervention - 1 août 2006 à 16:13
0
Merci
Ahh oui le fameux gabarge collector, merci de me mettre sur la
voie. Car ce qui m'étonnait ,c'est que même avec un Thread.Sleep(1)
entre chaque "écriture", le temps ne changé par autant.

Mais bon but n'est pas de généré quelque chose toute les milliseconde,
mais plutot que lorsque j'appel une fonction qui elle génère quelque
chose en fonction de cette milliseconde, que la valeur soit bien
unique.

Car pour le moment pour généré mon numéro unique je suis obligé de
faire un sleep de 10 ms... pas 5 pas 9 ... 10. Et j'arrive pas à
comprendre pour l'unicité des valeurs ne se fait que toute les 10 ms.


Mais merci pour ce renseignement je vais explorer cette voie
Amicalement TMCUH
Commenter la réponse de tmcuh
tmcuh 463 Messages postés dimanche 22 décembre 2002Date d'inscription 18 avril 2009 Dernière intervention - 1 août 2006 à 16:31
0
Merci
Je viens de tester effectivement la class StopWatch répond nettement mieux aux attentes. Nikel merci

Amicalement TMCUH
Commenter la réponse de tmcuh

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.