Roxygen2> 3.0.0 es sustancialmente más rápido, y ya no necesita el almacenamiento en caché.
En mi versión local de roxygen, que tienen:
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
}
Creo que esos son los únicos cambios que necesita, pero no estoy seguro. Se acelera roxygen en un orden de magnitud.
¿Su tenedor de Roxygen está disponible en GitHub? – Sharpie
Aún no - Sigo esperando que el desarrollo de roxygen vuelva a la vida. – hadley
No estaría de más publicarlo con un rastreador de problemas desactivado y una cláusula de exención de responsabilidad que establezca que usted no es el mantenedor y dirige a los usuarios a la lista de correo de Roxygen. El aumento del tráfico podría motivar los esfuerzos de desarrollo. – Sharpie