Existe-t-il un moyen normalisé dans R de mesurer le temps d'exécution d'une fonction?
Évidemment, je peux prendre system.timeavant et après l'exécution et ensuite prendre la différence de ceux-ci, mais je voudrais savoir s'il existe une méthode ou une fonction standardisée (je ne voudrais pas inventer la roue).
Je pense me souvenir d'avoir déjà utilisé quelque chose comme ci-dessous:
somesysfunction("myfunction(with,arguments)")
> Start time : 2001-01-01 00:00:00 # output of somesysfunction
> "Result" "of" "myfunction" # output of myfunction
> End time : 2001-01-01 00:00:10 # output of somesysfunction
> Total Execution time : 10 seconds # output of somesysfunction
Rprofc'est bien. Il fournit un profil de tous les processus dans un bloc / fonction de code.
require(microbenchmark)est maintenant (depuis quelques années) le moyen standard de la communauté pour chronométrer les choses. times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark). Cela fait un statistique comparaison lmvs glmplus de 1000 essais, plutôt que de system.timetester une seule fois.
proc.timeà l'esprit la causesystem.timedont vous avez besoin.