我想使用profr来分析我的R代码。我对如何使用此功能感到困惑,因为我找不到它的任何使用示例。有没有办法在运行我的R程序时可以从CMD中调用它作为参数?该程序由许多脚本组成,这增加了混乱。
答案 0 :(得分:1)
它不从命令行运行。它从内部运行。这就是我的工作。
myTopLevelFunction <- function(){
Rprof(interval = 5) # Start sampling. I want it to sample the stack every 5 seconds
# ... run the stuff I want to profile
Rprof(NULL) # Stop sampling. Stack samples are in Rprof.out
}
然后我只检查Rprof.out
文件中的样本。
我进行分析的方法是获取少量的堆栈样本,然后直接检查它们,而不是通过某种统计汇总。 原因是,如果有足够的时间值得修复,比如40%的时间,那么如果我查看10个随机样本,平均而言,其中4个就会明显。我只需要看到2个样本的问题就知道它值得修复,我可以通过这种方式看到问题,统计摘要会遗漏这些问题。这是至关重要的。
来自Rprof
的堆栈样本仅列出函数。它们不会列出发生呼叫的行号。然而,这比没有好多了。