Frage

Betrieb R CMD roxygen Auf einem großen Paket kann ziemlich lange dauern. Es ist offensichtlich ineffizient und es geht alles durch, unabhängig davon, ob sich eine Datei seit dem letzten Roxygen -Anruf geändert hat.

Irgendwelche Tipps, wie man die Dinge beschleunigt?

War es hilfreich?

Lösung

Roxygen2> 3.0.0 ist wesentlich schneller und muss nicht mehr geändert werden.


In meiner lokalen Version von Roxygen habe ich:

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

}

Ich denke, das sind die einzigen Änderungen, die Sie brauchen, aber ich bin mir nicht sicher. Es beschleunigt Roxygen um eine Größenordnung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top