相关疑难解决方法(0)

如何在R中有效使用Rprof?

我想知道是否有可能以R类似于matlabProfiler 的方式从-Code 获取配置文件.也就是说,要了解哪个行号特别慢.

到目前为止,我所取得的成绩在某种程度上并不令人满意.我曾经Rprof让我成为个人资料档案.使用summaryRprof我获得如下内容:

$by.self
                  self.time self.pct total.time total.pct
[.data.frame               0.72     10.1       1.84      25.8
inherits                   0.50      7.0       1.10      15.4
data.frame                 0.48      6.7       4.86      68.3
unique.default             0.44      6.2       0.48       6.7
deparse                    0.36      5.1       1.18      16.6
rbind                      0.30      4.2       2.22      31.2
match                      0.28      3.9       1.38      19.4
[<-.factor                 0.28      3.9       0.56       7.9
levels                     0.26      3.7       0.34       4.8
NextMethod                 0.22      3.1       0.82      11.5
...
Run Code Online (Sandbox Code Playgroud)

$by.total
                      total.time total.pct self.time self.pct
data.frame                  4.86      68.3      0.48      6.7
rbind …
Run Code Online (Sandbox Code Playgroud)

profiler profiling r

67
推荐指数
2
解决办法
2万
查看次数

从Rprof获取更多信息()

我一直试图深入研究我编写的一些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())等实际上是罪魁祸首?或者我是否需要重构代码并制作更小的功能块以获得更细粒度的结果?

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

谢谢.

profiling r

6
推荐指数
1
解决办法
2313
查看次数

标签 统计

profiling ×2

r ×2

profiler ×1