UweL> Ali - wrote:
>> (1) When R tries to load a library, does it load 'everything' in the
>> library at once?
UweL> No, see ?lazyLoad
are you sure Ali is talking about *package*s. He did use the word "library" though, and most of us (including Uwe!) know the difference...
>> (2) Is there any options to 'load as you go'?
UweL> Well, this is the way R does it....
for packages yes, because of lazyloading, as Uwe mentioned above.
For libraries, (you know: the things you get from compiling and linking C code ..), it may be a bit different.
What do you really mean, packages or libraries, Ali?
Well, the terminology used here is a bit confusing. ?library shows something like 'library(package)' and that's why I used the term 'library' for loading packages. The package does load some dll's but what I meant by library was actually package.
The package I am working on currently has one big R file (~ 4 Mb) and this causes at least 2 troubles:
(1) Things are slow:
(a) Installation with (LazyLoad = Yes) is slow. Then when the library is loaded into R, the loading is slow too. So LazyLoad is of not big help.
(b) Installation with (SaveImage = Yes) is -extremely- slow. To give you some idea, compiling the associated C++ code takes around 10 mins while saving the R images takes more than 40 mins (the package is a wrapper for some C++ libraries. All the R functions do is to call .Call). this doesn't improve the loading speed as well.
(c) Installation with (LazyLoad = Yes) AND (SaveImage = Yes) causes this error:
preparing package <package_name> for lazy loading make: *** [lazyload] Error 1 *** Installation of <package_name> failed ***
It is likely that this happens because of some memory problems.
(2) After all, when the package is loaded, not surprisingly, loads of memory is taken. It seems that the whole (huge) file is loaded into R at once and turning LazyLoad on or off doesn't make a difference when the package is big.
______________________________________________ R-devel@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
4Mb R file just containing .Call()s? Never seen something like that.
If these are all very small functions, lazy load won't be of that advantage, because you have to load the index file anyway.
You know, R including all base and recommended packages has just ~ 6Mb of R code. Are you really sure about your code?
Uwe Ligges
______________________________________________ R-devel@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-devel