J'utilise system.time(expression)
pour mesurer le temps d'exécution d'une fonction R.
La sortie que j'obtiens pour l'appel
system.time(myfunction())
est:
user system elapsed
117.36 5.65 127.86
Que mesurent «l'utilisateur» et le «système»?
Réponses:
Ceci est discuté dans
?proc.time
(system.time()
renvoie un objet de classe"proc.time"
):....et
la source
L'explication la plus claire que j'ai jamais lue sur la différence entre le temps écoulé
user
etsystem
le temps écoulé a été fournie par William Dunlap sur [R-help] :Bien que
?proc.time
retourne quelque chose de similaire, cette description était beaucoup plus facile à comprendre pour moi.la source
Voici quelques explications simples:
Le temps écoulé est le temps facturé au (x) processeur (s) pour l'expression.
User Time est l' heure de l'horloge murale. Le temps que vous avez vécu en tant qu'utilisateur.
Habituellement, les deux moments sont relativement proches. Mais ils peuvent varier dans d'autres situations. Par exemple:
la source
Puisque ceux-ci sont de toute façon génériques, de Wikipedia:
http://en.wikipedia.org/wiki/Time_(Unix)#User_Time_vs_System_Time
la source
Comme ces variables de temps sont définies par votre système d'exploitation, vous pouvez récupérer des informations sur la façon dont elles sont calculées en exécutant
man time
dans votre shell (sous Unix):La définition des variables de temps mentionnées peut être trouvée ici :
Une clarification des différences entre l'utilisateur et l'heure du système est décrite dans la réponse de Daroczig et ailleurs sur SO :
la source