J'ai fait un paquet R avec Rcpp où des simulations entières sont exécutées en C++ et les résultats sont analysés en R. Maintenant, j'ai besoin de profiler mes fonctions pour les optimiser, mais les profileurs R peuvent 't distinguer ce qui se passe à l'intérieur des fonctions C++, et je ne sais pas comment exécuter les profileurs C++ lorsque les fonctions ne peuvent être exécutées qu'à partir de R.Comment profiler le code Rcpp (sur Linux)
Jusqu'à présent, j'ai trouvé quelques suggestions pour utiliser gperftools (questions et tutorials) mais les guides sont incomplets (peut-être qu'ils supposent un niveau de connaissance qui me manque?), Ont des liens manquants, et je continue de courir dans les murs. D'où cette question. Voici où je suis:
- gperftools (Installer j'ai installé à partir supplémentaires/gperftools avec pacman)
- comprennent gperftools/profiler.h sur l'en-tête C de
- Ajouter AnalyseurDébut ("myprof.log") et ProfilerStop() dans le code C++ autour de ce que je veux le profil
- Compile avec -lprofiler
- Run "$ CPUPROFILE =" myprof.log "R -f myscript.R"
Le mur actuel est gcc me dit "Undefined Symbol: ProfilerStart", donc je pense qu'il y a quelque chose de mal avec la liaison?
Eh bien, il a travaillé pour moi dans le passé comme le montre quelques-unes des plus anciennes slidedecks sur mon site ... –