R 包到 CRAN:CPU 时间是经过时间的 5 倍

Mor*_*arz 5 r cran r-package

只是针对将包提交到 CRAN 时出现的问题提供我的解决方案,并收到类似于以下内容的错误:

\n
* checking tests ... [838s/167s] NOTE\n  Running \xe2\x80\x98testthat.R\xe2\x80\x99 [838s/167s]\nRunning R code in \xe2\x80\x98testthat.R\xe2\x80\x99 had CPU time 5 times elapsed time\n
Run Code Online (Sandbox Code Playgroud)\n

现在我无法复制这个错误(在本地,在 win-hub 或 rhub 上)并且发现关于此的信息很少。

\n

Mor*_*arz 6

我在 R-pkg-devel 邮件列表上发现了一些有用的讨论:此处R-core 讨论的结果,或者是另一个与 GitHub解决方案存在相同问题的软件包的问题。

本质上,该问题与程序包使用的 CPU 核心数量有关,以及试图避免程序包默认使用过多 CPU 核心的 CRAN 策略。

解决方案是将变量设置OMP_THREAD_LIMIT2。为此,我创建了一个名为的新文件,packagename.R如下所示:

.onLoad <- function(libname, pkgname) {
  # CRAN OMP THREAD LIMIT
  Sys.setenv("OMP_THREAD_LIMIT" = 2)

}
Run Code Online (Sandbox Code Playgroud)

下次将其提交给 CRAN 时,这就成功了。希望这对其他人也有用!