【问题标题】:Speeding up roxygen加速氧气
【发布时间】:2011-01-20 15:29:14
【问题描述】:

在大包上运行R CMD roxygen 可能需要很长时间。它显然效率低下,而且无论文件自上次 roxygen 调用后是否发生更改,它都会遍历所有内容。

关于如何加快速度的任何提示?

【问题讨论】:

    标签: r roxygen


    【解决方案1】:

    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
    
    }
    

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

    【讨论】:

    • 你的 Roxygen 分支在 GitHub 上可用吗?
    • 还没有 - 我仍然希望 roxygen 开发能够恢复活力。
    • 用禁用的问题跟踪器和声明您不是维护者并将用户引导到 Roxygen 邮件列表的免责声明来发布它不会有什么坏处。增加的流量可以激励开发工作。
    • 谢谢,下载了你的 roxygen 版本,确实快了很多。
    猜你喜欢
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    相关资源
    最近更新 更多