DateTime et millisecondes [Résolu]

tmcuh
Messages postés
463
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
18 avril 2009
- 1 août 2006 à 13:22 - Dernière réponse : tmcuh
Messages postés
463
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
18 avril 2009
- 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
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
- 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é 86 internautes ce mois-ci

Commenter la réponse de Lutinore
gcorbineau
Messages postés
143
Date d'inscription
vendredi 28 janvier 2005
Dernière intervention
25 octobre 2006
- 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
Messages postés
427
Date d'inscription
mercredi 1 octobre 2003
Dernière intervention
29 janvier 2008
- 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
Messages postés
463
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
18 avril 2009
- 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
Messages postés
463
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
18 avril 2009
- 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
Messages postés
463
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
18 avril 2009
- 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.