[R-pkg-devel] What influences the size of the rdb file in a package

Bill Dunlap w||||@mwdun|@p @end|ng |rom gm@||@com
Sat Oct 30 17:12:06 CEST 2021


The byte code attached to each function in a package can be surprisingly
large.  E.g., the byte code for the c. 300 line function Matrix:::replTmat
seems to be c. 4.5 times the size of the raw code:

> object.size(Matrix:::replTmat) /
object.size(as.function(as.list(Matrix:::replTmat)))
5.5 bytes

[Is there a more direct way to remove byte code from a function?  Or to
inspect it?]

Building Matrix with --no-byte-compile reduces the size of R/Matrix.rdx by
more than half, from 2.7 MB to 1 MB.

-Bill

On Sat, Oct 30, 2021 at 12:00 AM Mosqueira Sanchez, Iago <
iago.mosqueira using wur.nl> wrote:

> As far as I can see only classes, methods and functions are present
> there. I loaded the rdb file and looked at the contents and sizes of
> objects.
>
> Am I right in assuming every method or function imported from another
> package sits in the database? In another S4 package I see that the
> largest objects are nls, cor and lm, which we overload for some S4
> classes.
>
>
>
> Iago
>
> On Fri, 2021-10-29 at 20:21 -0400, Duncan Murdoch wrote:
> > On 29/10/2021 4:23 p.m., Gábor Csárdi wrote:
> > > You probably (accidentally?) put some large object into your
> > > package,
> > > e.g. a non-function object. But it is hard to say more without
> > > seeing
> > > the actual code....
> >
> > Yes.  To track it down, you need to understand that an INSTALL
> > executes
> > everything in the .R files, and saves every object that was created.
> > In
> > a simple package, that's just a bunch of functions, but in more
> > complicated situations, you may have created some objects in order
> > to
> > build functions, even though you don't need them:  but unless you
> > remove
> > them, it's very easy to have them included too.
> >
> > Duncan Murdoch
> > > Gabor
> > >
> > > On Fri, Oct 29, 2021 at 10:07 PM Mosqueira Sanchez, Iago
> > > <iago.mosqueira using wur.nl> wrote:
> > > >
> > > > I am getting warnings in some packages about the size of the R
> > > > folder
> > > >
> > > > * checking installed package size ... NOTE
> > > >    installed size is 20.5Mb
> > > >    sub-directories of 1Mb or more:
> > > >      data   2.4Mb
> > > >      R     17.8Mb
> > > >
> > > > This package contains around 3300 lines of code, if the results
> > > > of
> > > >
> > > > grep -v '^\s*#' *.R | wc
> > > >
> > > > are correct.
> > > >
> > > > Is this size to be expected? Is there anything I might be
> > > > missinmg to
> > > > make it smaller?
> > > >
> > > > Thanks,
> > > >
> > > >
> > > > Iago
> > > > --
> > > > dr. Iago Mosqueira
> > > >
> > > > Wageningen Marine Research
> > > >
> > > > Haringkade 1
> > > > Postbus 68
> > > > 1976CP, IJmuiden
> > > >
> > > > Tel.: +31 (0)317 488 995
> > > > iago.mosqueira using wur.nl
> > > > ______________________________________________
> > > > R-package-devel using r-project.org mailing list
> > > >
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&data=04%7C01%7Ciago.mosqueira%40wur.nl%7Cab72634b9fed43fd7a2208d99b3b43cd%7C27d137e5761f4dc1af88d26430abb18f%7C0%7C0%7C637711501535857883%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=E9aOOkVzR46TP2lah4alc%2F%2B5PmFPX27oDV140kBcrEI%3D&reserved=0
> > >
> > > ______________________________________________
> > > R-package-devel using r-project.org mailing list
> > >
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&data=04%7C01%7Ciago.mosqueira%40wur.nl%7Cab72634b9fed43fd7a2208d99b3b43cd%7C27d137e5761f4dc1af88d26430abb18f%7C0%7C0%7C637711501535867885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=ZMc2qL9zGn9u5Tcf8nRNNffZlkMZVbXvdW3pVgrrI0E%3D&reserved=0
> > >
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list