Bonjour,
J'ai besoin de calculer très precisemment (à la milliseconde) le temps écoulé entre deux opérations dans mon code. Pour calculer ce temps d'execution j'utilise la méthode currentTimeMillis() de la classe System.
Le probleme c'est que cette méthode a un fonctionnement plus étrange...
Voila un exemple avec un code tout simple :
Ce qui produit le résultat suivant (j'ai evidemment pas mis toutes les valeurs) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for(int i=0;i<10000;i++) { System.out.println(System.currentTimeMillis()); }
...
1139394945590
1139394945590
1139394945590
1139394945590
1139394945590
1139394945590
1139394945590
1139394945590
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
...
1139394945605
1139394945605
1139394945605
1139394945605
1139394945605
1139394945621
1139394945621
1139394945621
1139394945621
1139394945621
1139394945621
1139394945621
1139394945621
1139394945621
....
1139394945621
1139394945621
1139394945621
1139394945621
1139394945621
1139394945621
1139394945636
1139394945636
1139394945636
1139394945636
1139394945636
1139394945636
1139394945636
1139394945636
Pour une raison qui j'ignore, la fonction "saute" de temps en temps 16 millisecondes.
Ma question est donc la suivante : est ce normal ? et dans ce cas il faudra m'expliquer qu'elle en est la raison. et sinon qu'est ce que je peux utiliser à la place de cette méthode pour obtenir les résultats que je souhaite.
merci.
Partager