On 30/10/2021 11:12 a.m., Bill Dunlap wrote:
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?]

You can sort of inspect it using compiler::disassemble, though it's not very readable. You can remove it by assigning to the body, e.g.

body(fn) <- body(fn)

Duncan Murdoch



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.mosque...@wur.nl <mailto:iago.mosque...@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.mosque...@wur.nl <mailto:iago.mosque...@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.mosque...@wur.nl <mailto:iago.mosque...@wur.nl>
     > > > ______________________________________________
     > > > R-package-devel@r-project.org
    <mailto:R-package-devel@r-project.org> mailing list
     > > >
    
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&amp;data=04%7C01%7Ciago.mosqueira%40wur.nl%7Cab72634b9fed43fd7a2208d99b3b43cd%7C27d137e5761f4dc1af88d26430abb18f%7C0%7C0%7C637711501535857883%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=E9aOOkVzR46TP2lah4alc%2F%2B5PmFPX27oDV140kBcrEI%3D&amp;reserved=0
    
<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&amp;data=04%7C01%7Ciago.mosqueira%40wur.nl%7Cab72634b9fed43fd7a2208d99b3b43cd%7C27d137e5761f4dc1af88d26430abb18f%7C0%7C0%7C637711501535857883%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=E9aOOkVzR46TP2lah4alc%2F%2B5PmFPX27oDV140kBcrEI%3D&amp;reserved=0>
     > >
     > > ______________________________________________
     > > R-package-devel@r-project.org
    <mailto:R-package-devel@r-project.org> mailing list
     > >
    
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&amp;data=04%7C01%7Ciago.mosqueira%40wur.nl%7Cab72634b9fed43fd7a2208d99b3b43cd%7C27d137e5761f4dc1af88d26430abb18f%7C0%7C0%7C637711501535867885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=ZMc2qL9zGn9u5Tcf8nRNNffZlkMZVbXvdW3pVgrrI0E%3D&amp;reserved=0
    
<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&amp;data=04%7C01%7Ciago.mosqueira%40wur.nl%7Cab72634b9fed43fd7a2208d99b3b43cd%7C27d137e5761f4dc1af88d26430abb18f%7C0%7C0%7C637711501535867885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=ZMc2qL9zGn9u5Tcf8nRNNffZlkMZVbXvdW3pVgrrI0E%3D&amp;reserved=0>
     > >
    ______________________________________________
    R-package-devel@r-project.org <mailto:R-package-devel@r-project.org>
    mailing list
    https://stat.ethz.ch/mailman/listinfo/r-package-devel
    <https://stat.ethz.ch/mailman/listinfo/r-package-devel>


______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to