2011-01-20 1 views
11

큰 패키지에서 R CMD roxygen을 실행하는 것은 꽤 오랜 시간이 걸릴 수 있습니다. 그것은 분명히 비효율적 일뿐만 아니라 마지막 roxygen 호출 이후 파일이 변경되었는지 여부에 관계없이 모든 것을 통과합니다.roxygen을 가속화

일을 빠르게하는 방법에 대한 정보는 무엇입니까?

답변

12

Roxygen2> 3.0.0은 더 빠르며 더 이상 캐싱을 필요로하지 않습니다.

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의 속도를 한 단계 높입니다.

+0

GitHub에서 Roxygen 포크를 사용할 수 있습니까? – Sharpie

+1

아직 - 나는 여전히로 이젠 (roxygen) 개발이 다시 생길 것을 기대하고 있습니다. – hadley

+1

당신이 관리자가 아니며 사용자를 Roxygen 메일 링리스트로 안내하는 사용 중지 된 이슈 추적기 및 면책 조항을 첨부하여 게시 할 수 없습니다. 트래픽 증가는 개발 노력을 자극 할 수 있습니다. – Sharpie