我想使用 profr 来分析我的 R 代码。我对如何使用此功能感到困惑,因为我找不到任何使用示例。有没有办法在运行我的 R 程序时从 CMD 调用它作为参数?该程序由许多脚本组成,这增加了混乱。
问问题
800 次
1 回答
1
它不会从命令行运行。它从 R 内部运行。这就是我所做的。
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
仅来自列表函数。他们没有列出发生呼叫的行号。尽管如此,它总比没有好。
于 2012-12-18T13:41:54.217 回答