1

我想使用 profr 来分析我的 R 代码。我对如何使用此功能感到困惑,因为我找不到任何使用示例。有没有办法在运行我的 R 程序时从 CMD 调用它作为参数?该程序由许多脚本组成,这增加了混乱。

4

1 回答 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 回答