r-lib / revdepcheck

R package reverse dependency checking
https://revdepcheck.r-lib.org
Other
99 stars 31 forks source link

Suggestion: run revdep checks in random order #234

Closed dmurdoch closed 4 years ago

dmurdoch commented 4 years ago

If packages have a lot of reverse dependencies, revdep_check() can take a really long time to run. (For example, rgl has 322 revdeps, and when I ran my own revdep code, it took 15 hours to complete. revdep_check estimates 2 days after doing a couple.)

It would be nice if it did the checks in a random order instead of alphabetically: then if I quit after a couple of hours, at least I will have seen a random subsample, instead of the same alphabetical subsample as the previous time.

gaborcsardi commented 4 years ago

15 hours seems very long. If you are not already doing it, you can use num_workers to run them in parallel, then it is faster. For a computer with 4 cores, I suggest num_workers = 4, and then you'll still be able to use the computer.

But yeah, it is easy enough to add randomization.

bbolker commented 4 years ago

FWIW 15 hours seems in the right ball park for a widely used package; IIRC lme4 checking takes on the order of 24 hours compute time (which I usually do across 6 workers).

Randomization should certainly be optional (hard to imagine anyone's suggesting otherwise ...)

hadley commented 4 years ago

Now a duplicate of #69