[R-pkg-devel] how to prevent a small package from yielding a large installed size?

Daniel Kelley D@n@Ke||ey @end|ng |rom D@|@C@
Mon Jun 15 13:13:21 CEST 2020

I am working on a package (https://github.com/ArgoCanada/argoFloats) that has a 412K source tarball (most of which is data; the R code is 176K), but that creates a library .rdb file of MUCH larger size, namely 7.2M.  This file causes a build NOTE, being over the threshold of 1M, and that concerns me in terms of hoped-for submission to CRAN during this summer.

My goal in writing this email is to get some advice regarding reducing the size of the .rds file, if indeed this is a general problem and not an artifact of my (macOS) development environment.

Here's some more detail:

argoFloats depends on some other packages, and so I am wondering whether the large multiplier between R source and .rdb file is because the other sources are dragged in.  I could try moving everything to "Suggests", and use requireNamespace(), but that seems to go against recommendations, if I interpret Wickham and Bryan (https://r-pkgs.org/description.html) correctly.

A possible clue is that I get a large-file note on macOS, but not when I use rhub for test linux builds, or winbuilder for a windows build.  I do not have ready access to either linux or windows machines, to examine those builds in detail.

My thinking is that examination of the .rdb file might help me to learn about problems (e.g. if it holds code from packages I "import" from, that might motivate me to move from "import" to "suggest"). Unfortunately, I have not been able to discover a way to examine that file, which seems to be designed for internal R use.

I am attaching below my signature line the output from sessionInfo(), in case that helps.  The URL I reference in my second paragraph has my DESCRIPTION file, and I will admit that I do not fully understand its nuances.  Note that I use roxygen2 to build documentation and NAMESPACE.

Any advice would be greatly appreciated, and indeed I thank anyone who got to the bottom of this long email.

Dan E. Kelley [he/him/his 314ppm]
Department of Oceanography
Dalhousie University
Halifax, NS, Canada

R version 4.0.1 (2020-06-06)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.6

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib

[1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] argoFloats_0.1.3

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.4.6        pillar_1.4.4        compiler_4.0.1      plyr_1.8.6          class_7.3-17       
 [6] tools_4.0.1         testthat_2.3.2      digest_0.6.25       bit_1.1-15.2        ncdf4_1.17         
[11] oce_1.2-1           memoise_1.1.0       RSQLite_2.2.0       lifecycle_0.2.0     tibble_3.0.1       
[16] gtable_0.3.0        lattice_0.20-41     gsw_1.0-6           pkgconfig_2.0.3     rlang_0.4.6        
[21] DBI_1.1.0           rstudioapi_0.11     curl_4.3            e1071_1.7-3         dplyr_1.0.0        
[26] stringr_1.4.0       raster_3.1-5        generics_0.0.2      vctrs_0.3.1         classInt_0.4-3     
[31] bit64_0.9-7         grid_4.0.1          tidyselect_1.1.0    glue_1.4.1          sf_0.9-4           
[36] R6_2.4.1            sp_1.4-2            marmap_1.0.4        adehabitatMA_0.3.14 blob_1.2.1         
[41] ggplot2_3.3.1       purrr_0.3.4         reshape2_1.4.4      magrittr_1.5        units_0.6-6        
[46] scales_1.1.1        codetools_0.2-16    ellipsis_0.3.1      shape_1.4.4         colorspace_1.4-1   
[51] KernSmooth_2.23-17  stringi_1.4.6       munsell_0.5.0       crayon_1.3.4.9000  

More information about the R-package-devel mailing list