2010-12-09 6 views
2

J'utilise la commande unix time pour enregistrer les temps d'exécution d'un programme java.Commande de temps UNIX - l'heure d'entrée est-elle factorisée?

La première chose que mon programme fait quand il commence à courir est de demander à l'utilisateur d'entrer un chemin de fichier.

Est-ce que le temps nécessaire pour taper ceci et retourner le résultat factorisé dans l'une des statistiques de temps que cette commande retourne? La sortie de ma commande de temps est de la forme:

# u # # s #:.... # # # #% # + # K # + # io # pf + # w

où # est un entier

Merci

Répondre

3

Oui, le temps nécessaire pour apporter une contribution est une partie du temps réel (3ème entrée dans la sortie).

démonstration simple:

$ time(sleep 5 ; echo hi | read) 

real  0m5.005s 
user  0m0.000s 
sys  0m0.004s 

Ici, le echo hi imprimera hi sur la sortie std et read lira. J'ai ajouté un délai de 5 secondes avant que l'écriture et la lecture ne se produisent. Et j'ai chronométré le tout. Comme vu le temps réel est d'environ 5 secondes, ce qui signifie qu'il prend en compte le temps nécessaire à la commande read pour lire l'entrée.

Juste pour être complète, l'heure de l'utilisateur est le temps que la CPU prend pour exécuter les instructions dans notre programme comme les boucles, les conditions.
Et le temps sys est le temps pris par la CPU pour effectuer des appels système. Dans notre exemple, nous voyons un temps sys de 4 msec parce qu'il y a beaucoup d'appels sys impliqués dans cette commande comme read, write etc.