我想知道是否有可能以R类似于matlabProfiler 的方式从-Code 获取配置文件.也就是说,要了解哪个行号特别慢.
到目前为止,我所取得的成绩在某种程度上并不令人满意.我曾经Rprof让我成为个人资料档案.使用summaryRprof我获得如下内容:
Run Code Online (Sandbox Code Playgroud)$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 …
我一直试图深入研究我编写的一些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())等实际上是罪魁祸首?或者我是否需要重构代码并制作更小的功能块以获得更细粒度的结果?
我拒绝重构的唯一原因是我必须将数据结构传递给函数,并且所有传递都是按值进行的,所以这似乎是错误方向的一步.
谢谢.