Calculer le Temps d'Exécution du Programme Java

Je veux calculer le temps d'exécution de mon Programme en Java et je ne sais pas comment je devrais aller à ce sujet. Je sais que le temps écoulé peut être calculée à l'aide du Système.nanoTime() & Système.currentTimeInMillis(), cependant cette approche ne prend pas en compte les sous-jacents mécanisme de planification du Système d'Exploitation.

Par exemple : il y a 3 processus s'exécutant en même temps (ce qui permet de supposer son un seul système central)

Processus Un

Processus B (Mon Code Java - cours d'exécution dans le Processus de JVM)

Processus C

Maintenant, si le Processus B commence à s'exécuter à 11:00 et se termine l'exécution à 11:02, Système.nanoTime() & Système.currentTimeInMillis() indique le temps pris que 2 minutes. Cependant il est possible que le Processus B pourrait ne pas être en cours d'exécution pour la durée de toute les 2 minutes, parce que l'OS de planifier les 2 autres Processus et ils pourraient être en cours d'exécution pendant un certain laps de temps dans les 2 minutes d'intervalle. Donc, en substance, le Programme java pendant au moins 2 minutes.

Est-il possible de déterminer exactement la durée qui a été prise par un Programme Java lui-même à l'exécution complète?
Remarque :

  1. Nous pouvons exécuter le code plusieurs fois et prendre le temps moyen de minimiser les effets de tels cas, il serait bon de savoir si il y a un moyen fiable pour calculer le temps d'exécution
  2. Permet de supposer que la partie du code que nous avons besoin de temps ne peut pas être divisé en plus petits morceaux et prend une grande quantité de temps à traiter.
utiliser un profiler pour vérifier le temps
La réponse est ici Semble comme un double de la question stackoverflow.com/questions/180158/...
Les réponses se concentrer davantage sur l'utilisation de nanotTime()/currentTimeInMillis() pour le calcul du temps d'exécution, mais il ne prend pas en compte le système d'exploitation moment de la planification.
J'ai utilisé pour mettre date time sur ma coquille PS1 pour que je sache combien de temps chaque commande s'exécute
Essayez ce mécanisme: stackoverflow.com/questions/3382954/...

OriginalL'auteur Kakarot | 2014-02-23