Я хочу использовать Callgrind для поиска узких мест в некотором сложном коде Rcpp. Поскольку я не мог заставить его работать, я решил написать простой R-файл, чтобы убедиться, что он делает то, что должен.Запуск Callgrind на простой файл R
Однако я все еще не могу заставить его работать.
Моя простая функция:
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")
Я тогда тип:
valgrind --tool=callgrind Rscript filename.R 1000
Это, кажется, прекрасно работать, и производит callgrind.out.XYZ, как documentation говорит, что это должно быть.
Я введите:
callgrind_annotate callgrind.out.XYZ
и получить следующее:
Use of uninitialized value $events in string ne at /usr/bin/callgrind_annotate line 446.
Line 0: missing events line
Это точно такая же ошибка, как я с моим более сложным кодом, так что-то помимо функции виноват ,
Есть ли у кого-нибудь идеи, что я делаю неправильно? Благодарю.