运行 R CMD roxygen
在大包装上可能需要相当长的时间。它显然是低效的,无论自上次roxygen调用后文件是否发生变化,它都会通过所有内容。
关于如何加快速度的任何提示?
运行 R CMD roxygen
在大包装上可能需要相当长的时间。它显然是低效的,无论自上次roxygen调用后文件是否发生变化,它都会通过所有内容。
关于如何加快速度的任何提示?
Roxygen2> 3.0.0大大加快,不再需要缓存。
在我当地的roxygen版本中,我有:
library(memoize)
cached.parse.ref <- memoize(parse.ref)
cached.parse.srcfile <- memoize(parse.srcfile)
parse.file <- function(file) {
srcfile <- srcfile(file)
res <- try(cached.parse.srcfile(srcfile), silent = TRUE)
if (inherits(res, "try-error")) {
stop("Can't pass", file, "\n", res, call. = FALSE)
}
res
}
parse.srcfile <- function(srcfile) {
srcrefs <- attributes(parse(srcfile$filename,
srcfile=srcfile))$srcref
if (length(srcrefs) > 0)
parse.refs(zip.list(prerefs(srcfile, srcrefs), srcrefs))
else
nil
}
我认为这些是你需要的唯一变化,但我不确定。它加速了一个数量级的氧气。
Roxygen2> 3.0.0大大加快,不再需要缓存。
在我当地的roxygen版本中,我有:
library(memoize)
cached.parse.ref <- memoize(parse.ref)
cached.parse.srcfile <- memoize(parse.srcfile)
parse.file <- function(file) {
srcfile <- srcfile(file)
res <- try(cached.parse.srcfile(srcfile), silent = TRUE)
if (inherits(res, "try-error")) {
stop("Can't pass", file, "\n", res, call. = FALSE)
}
res
}
parse.srcfile <- function(srcfile) {
srcrefs <- attributes(parse(srcfile$filename,
srcfile=srcfile))$srcref
if (length(srcrefs) > 0)
parse.refs(zip.list(prerefs(srcfile, srcrefs), srcrefs))
else
nil
}
我认为这些是你需要的唯一变化,但我不确定。它加速了一个数量级的氧气。