首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加速roxygen

加速roxygen
EN

Stack Overflow用户
提问于 2011-01-20 23:29:15
回答 1查看 215关注 0票数 11

在一个大的包上运行R CMD roxygen可能需要相当长的时间。它的效率显然很低,因为它会遍历所有内容,而不管文件在上次roxygen调用后是否发生了更改。

有什么关于如何提高速度的建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-21 04:43:02

Roxygen2 > 3.0.0更快了,不再需要缓存。

在我本地的roxygen版本中,我有:

代码语言:javascript
复制
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

}

我认为这些是您需要的唯一更改,但我不确定。它能使roxygen加速一个数量级。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4749000

复制
相关文章

相似问题

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