[R-pkg-devel] Default number of cores <=2

Murray Efford murr@y@e||ord @end|ng |rom ot@go@@c@nz
Sun Feb 9 09:56:59 CET 2020


The CRAN Repository Policy (revision 4170) states "If running a package uses multiple threads/cores it must never use more than two simultaneously: the check farm is a shared resource and will typically be running many checks simultaneously" and I try to respect this limit in package example code. However I was recently warned that package functions must not default to >2 cores, even if checks are limited to 2 cores. I see the sense in this, to not hog resources on multi-user systems, but I cannot find it in the documentation. My package 'secr' has unintentionally violated such a policy since October (multithreading with RcppParallel in function 'secr.fit'). No complaints so far, but I'd like to dodge the pain of rejection at my next revision. 

Further, "not all CRAN machines use _R_CHECK_LIMIT_CORES_", so that environment variable cannot be relied upon to apply a 2-core limit during checking.

I would appreciate pointers to the relevant documentation and guidance on how others handle this. Is it unavoidable that for users to exploit multiple cores they must specify a non-default function argument, or similar?




More information about the R-package-devel mailing list