[R-pkg-devel] Checking the number of cores used

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Tue Sep 19 11:59:22 CEST 2023


On 18/09/2023 10:10 a.m., Shu Fai Cheung wrote:
> Hi All,
> 
> I know we should not use more than 2 cores in tests, vignettes, etc. I
> encountered and solved this issue before. However, I still committed
> this mistake in a new package and would like find out where the cause
> is.
> 
> I have a package that already has parallel processing disabled by
> default and I did not enable parallel processing in the examples and
> tests (except for one test, which is always skipped by skip()).
> However, I was told that somewhere in the package more than 2 cores
> are used.
> 
> I checked several times and even added a temporary 'stop()` to "trap"
> parallel processing but still could not find where the source of the
> problem is.
> 
> I checked the timing in the log in R CMD check results from winbuilder
> but everything seems OK. The user time and elapsed time are similar
> for all the examples.
> 
> Is there any quick way to check where things go wrong regarding the
> number of cores? It is not easy to find the source of the problems
> when there are many examples and tests.

If you run R CMD check <pkg> at the command line, it will produce a 
directory *.Rcheck containing a number of files.  One of those files 
will be *-Ex.timings, which will give the individual timings of each of 
the examples in your package.  Maybe you can recognize from those which 
of the examples are problematic ones, and add `proc.time()` calls to the 
example to figure out which line(s) cause the issue.

I don't remember whether winbuilder keeps the timings file when it runs 
a check.

Duncan Murdoch



More information about the R-package-devel mailing list