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 доступной на GitHub? – Sharpie
Пока нет - я все еще надеюсь, что развитие кислорода будет возвращаться к жизни. – hadley
Не помешало опубликовать его с отключенным трекером проблем и оговоркой о том, что вы не являетесь сопровождающим и направляет пользователей в список рассылки Roxygen. Увеличение трафика может стимулировать усилия в области развития. – Sharpie