r-lib / roxygen2

Generate R package documentation from inline R comments

Home Page:https://roxygen2.r-lib.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Checking for missing S3 method exports hangs "forever" if you have large data objects in the package

jranke opened this issue · comments

In package yet unpublished I have a large data object (the .rda file has about 6 MB). With current roxygen versions, the namespace roclet hangs here

https://github.com/r-lib/roxygen2/blob/main/R/namespace.R#L402

This is apparently very inefficient if you have large objects in s3objects. If I remove the data object from the package, namespace generation proceeds swiftly as usual.

I'm running into this as well with https://github.com/alexpghayes/latentnetmediate and it's pretty debilitating. Downgrading to version 7.2.0 resolved my issue temporarily.

Edit: #1594 also resolves my issue. Thanks!

Hi, I wonder if noone with commit rights for roxygen is affected by this bug? What about @krlmlr or @DavisVaughan , could you maybe have a look?

I was hoping this fix would make it into this latest release. To help demonstrate for any reviewers the problem, with my package which has a few moderately large example data sets but all .rda < 1MB.

with 7.3.2:

> system.time({roxygen2::roxygenise()})
ℹ Loading TrialEmulation
   user  system elapsed 
272.816   0.445 274.110 

with the proposed fix in #1593 :

> system.time({roxygen2::roxygenise()})
ℹ Loading TrialEmulation
   user  system elapsed 
  5.187   0.156   2.700