Fonction chronomètre dans la R
Est-il un R minuterie ou un chronomètre fonction similaire à MATLAB tic/toc?
- pour ce que ça vaut, googler
[r] tic toc
maintenant (Février 2013) donne beaucoup de réponses; ne sais pas si elle a fait un retour en Novembre 2011 ou pas ...
Vous devez vous connecter pour publier un commentaire.
Il y a beaucoup d'outils de profilage, R, Dirk mentionné. Si vous souhaitez profiter de la simplicité de tic/toc, alors vous pouvez le faire dans la R trop.
EDIT: j'ai bidouillés avec la collecte des ordures de la fonctionnalité de l'MATLAB paquet, et
tic
vous permet désormais de choisir si vous êtes intéressé dans le total du temps écoulé ou juste le temps de l'utilisateur.Utilisation est, par exemple,
tic(); invisible(qr(matrix(runif(1e6), nrow=1e3))); toc()
Il y a un MATLAB émulation paquet matlab sur CRAN. Il a implémentations de
tic
ettoc
(mais ils ont l'air très similaires aux fonctions de Richie Cotons réponse; "elapsed" est utilisé à la place de l'utilisateur".auto" dansproc.time()
)Direct équivalents de tic et de toc n'existent pas.
Veuillez voir
help(system.time)
ainsi que les Extensions de R manuel sur le profilage. Les Discussions de profilage et des outils de profilage est aussi dans l'introduction de l'HPC avec R' diapositives référencés sur le Le Calcul de haute Performance avec R taskviewTrès simple équivalence avec les tic et toc que vous pourriez avoir:
Où l' [3] est parce que nous sommes intéressés dans le troisième élément dans le vecteur renvoyé par proc.time(), qui est le temps écoulé.
Il est relativement nouveau package tictoc qui reproduit les caractéristiques exactement comme vous le feriez utiliser dans Matlab.
http://cran.r-project.org/web/packages/tictoc/index.html
Une Fermeture Approche
Très propre et simple de la façon de le faire est par l'utilisation d'un dispositif de fermeture (ce qui signifie simplement d'avoir une fonction dans une fonction):
Vous démarrez le chronomètre comme suit:
Et puis, vous obtenez le temps de retour comme ceci:
Qui génère un nommé vecteur qui est imprimé comme suit:
Même avec la simplicité de cette version, vous bénéficiez également de toutes les fonctionnalités de Matlab et Richie Coton versions plus la caractéristique supplémentaire d'être en mesure d'exécuter plusieurs minuteurs:
À compter de la date 2015-03-25,
et peut-être plus tôt,
le pracma
paquet contient les fonctions
tic()
ettoc()
.Exemple:
Pas, mais ici, c'est une solution en ligne.
Et un exemple d'utilisation:
Sinon, microbenchmark est mon préféré en termes de paquets.
Juste pour être complet: vous pouvez effectivement "simuler" tic
et toc dans R, de sorte que vous pouvez écrire
sans parenthèses. Le truc, c'est de l'abus de la
print
fonction, comme l'a démontré Amusant: tic et toc dans la R:
Donc en tapant
devrait se traduit par quelque chose comme ceci:
Comme je l'ai dit, c'est un truc;
system.time
,Rprof
etdes logiciels tels que
rbenchmark
sont la façon de mesurer ladu temps de calcul au R.
La tictoc paquet implémente la fonctionnalité décrite par les précédentes réponses - merci pour l'inspiration! Le package ajoute également imbriqués calendrier de la collecte des timings de variables définies par l'utilisateur, des messages et des rappels.