从Rprof获取更多信息()

Ken*_*ams 6 profiling r

我一直试图深入研究我编写的一些R代码中的时间,所以我正在使用Rprof.但输出还不是很有用:

> summaryRprof()
$by.self
                      self.time self.pct total.time total.pct
"$<-.data.frame"           2.38     23.2       2.38      23.2
"FUN"                      2.04     19.9      10.20      99.6
"[.data.frame"             1.74     17.0       5.54      54.1
"[.factor"                 1.42     13.9       2.90      28.3
...
Run Code Online (Sandbox Code Playgroud)

有没有办法深入挖掘并找出哪些具体的调用$<-.data.frame,FUN(可能来自哪些by())等实际上是罪魁祸首?或者我是否需要重构代码并制作更小的功能块以获得更细粒度的结果?

我拒绝重构的唯一原因是我必须将数据结构传递给函数,并且所有传递都是按值进行的,所以这似乎是错误方向的一步.

谢谢.

Dir*_*tel 4

现有的CRANprofrproftools对此很有用。后者可以使用 Rgraphviz,但它并不总是可安装的。

有关分析的 R Wiki 页面包含附加信息和 Romain 编写的一个不错的脚本,该脚本也可以可视化(但需要 graphviz)。