Existe-t-il un moyen normalisé dans R de mesurer le temps d'exécution d'une fonction?
Évidemment, je peux prendre system.time
avant 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
Rprof
c'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 lm
vs glm
plus de 1000 essais, plutôt que de system.time
tester une seule fois.
proc.time
à l'esprit la causesystem.time
dont vous avez besoin.