R 包到 CRAN:CPU 时间是已用时间的 5 倍

问题描述 投票:0回答:1

仅提供我对向 CRAN 提交包时出现的问题的解决方案,并收到与此类似的错误:

* checking tests ... [508s/167s] NOTE
  Running ‘testthat.R’ [508s/167s]
Running R code in ‘testthat.R’ had CPU time 3 times elapsed time

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

r r-package cran
1个回答
0
投票

我在 R-pkg-devel 邮件列表上找到了一些有用的讨论:R-core 讨论的结果 here 或针对另一个具有相同问题的软件包的问题 here 以及 GitHub 上的解决方案 here .

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

解决方案是将变量

OMP_THREAD_LIMIT
设置为
2
。为此,我创建了一个名为
packagename.R
的新文件,如下所示:

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

}

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

© www.soinside.com 2019 - 2024. All rights reserved.