首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在简单的R文件上运行Callgrind

在简单的R文件上运行Callgrind
EN

Stack Overflow用户
提问于 2015-02-26 23:51:33
回答 1查看 435关注 0票数 7

我想使用Callgrind来查找一些复杂的Rcpp代码中的瓶颈。因为我不能让它工作,所以我决定写一个简单的R文件,以确保它做它应该做的事情。

然而,我仍然不能让它工作。

我的简单函数是:

代码语言:javascript
复制
args <- commandArgs(trailingOnly=T)
test_callgrind <- function(args) {
  x <- args[1]
  a <- 0
  for (i in 1:x) {
    a <- i
  }
  return(a)
}
a <- test_callgrind(args)
save(a, file="a.rdata")

然后我键入:

代码语言:javascript
复制
valgrind --tool=callgrind Rscript filename.R 1000

这似乎运行得很好,并生成callgrind.out.XYZ,正如documentation所说的那样。

然后我键入:

代码语言:javascript
复制
callgrind_annotate callgrind.out.XYZ

并获取以下内容:

代码语言:javascript
复制
Use of uninitialized value $events in string ne at /usr/bin/callgrind_annotate line 446.
Line 0: missing events line

这与我在更复杂的代码中得到的错误完全相同,所以除了函数之外,还有其他东西出错。

有谁知道我做错了什么吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-09-22 17:37:46

可能有点晚了,但是如果您改为使用

代码语言:javascript
复制
R -d "valgrind --tool=callgrind" -f filename.R
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28746870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档