[R] Lazy loading... advices
Uwe Ligges
ligges at statistik.uni-dortmund.de
Sat Oct 16 18:31:29 CEST 2004
Philippe Grosjean wrote:
> Hello,
>
> I am looking for more information about lazy loading introduced in R 2.0.0.
> Doing
> ?lazyLoad
> I got some and there is a 'see also' section that points to
> 'makeLazyLoading'... But I cannot reach this page.
>
> My problem is: I recompiled a library
Philippe,
citing Doug Bates: "Someone named Martin Maechler will shortly be
sending you email regarding the distinction between 'library' and
'package'". ;-)
[from:
install.packages("fortunes")
library(fortunes)
fortune("library")
]
> that uses a lot of functions from
> other libraries (of course I can give details if needed). I load it in my
> computer: library(svGUI), and it takes something like 20 seconds to load. In
> R 1.9.1 it took 3-4 seconds on the same machine (Windows XP). So, I try now
> to understand the mechanism and to find a way to lower the loading time of
> this library with lazy loading (its goal is to load faster, isn't, so I
> probably do something wrong).
It might not always be faster. See Brian Ripley's article in the most
recent R Newsletter. Probably you are using a lot of functions in the
startup directly after the call to library() (in .First.lib() or
.onLoad() or Hooks or whatever).
I think you want to specify "LazyLoad: no" in the package's DESCRIPTION
file (cp. "Writing R Extensions").
Uwe
> Any help or advice would be appreciated.
>
> Here is a Rprof of library(svGUI) on my machine:
>
> » summaryRprof()
> $by.self
> self.time self.pct total.time total.pct
> file.exists 7.42 24.9 8.46 28.4
> list.files 7.24 24.3 7.32 24.6
> file 6.78 22.8 6.88 23.1
> read.dcf 1.42 4.8 9.24 31.0
> file.info 0.54 1.8 0.82 2.8
> lapply 0.52 1.7 8.96 30.1
> inherits 0.34 1.1 28.76 96.5
> names 0.34 1.1 0.38 1.3
> names<- 0.30 1.0 0.42 1.4
> paste 0.30 1.0 0.66 2.2
> close.connection 0.24 0.8 0.24 0.8
> .Call 0.20 0.7 0.20 0.7
> apply 0.20 0.7 0.58 1.9
> .find.package 0.18 0.6 18.14 60.9
> [... More here]
>
> $by.total
> total.time total.pct self.time self.pct
> library 29.70 99.7 0.00 0.0
> try 29.64 99.5 0.10 0.3
> f 29.36 98.5 0.00 0.0
> firstlib 29.36 98.5 0.00 0.0
> Require 28.96 97.2 0.00 0.0
> match 28.80 96.6 0.08 0.3
> inherits 28.76 96.5 0.34 1.1
> is.factor 28.76 96.5 0.00 0.0
> %in% 28.60 96.0 0.00 0.0
> installed.packages 28.60 96.0 0.00 0.0
> unlist 21.46 72.0 0.08 0.3
> packageDescription 21.22 71.2 0.10 0.3
> system.file 19.18 64.4 0.08 0.3
> .find.package 18.14 60.9 0.18 0.6
> guiInstall 11.82 39.7 0.00 0.0
> read.dcf 9.24 31.0 1.42 4.8
> lapply 8.96 30.1 0.52 1.7
> file.exists 8.46 28.4 7.42 24.9
> FUN 7.82 26.2 0.02 0.1
> list.files 7.32 24.6 7.24 24.3
> .packages 7.20 24.2 0.02 0.1
> file 6.88 23.1 6.78 22.8
> require 3.42 11.5 0.00 0.0
> [... More here]
>
> This is the description of my package (in the bundle SciViews):
>
> Package: svGUI
> Title: SciViews GUI API - Main GUI features
> Description: Functions to communicate with a GUI client, to implement an
> object browser, etc...
> Bundle: SciViews
> Version: 0.7-0
> Date: 2004-10-10
> Depends: utils, grDevices, graphics, stats, methods, tcltk, R2HTML, svMisc
> Suggests: Hmisc, MASS, wxPython
> Author: Philippe Grosjean & Eric Lecoutre
> Maintainer: Philippe Grosjean <phgrosjean at sciviews.org>
> BundleDescription: SciViews GUI API
> A series of packages to implement a full reusable GUI API for R.
> License: GPL 2 or above
> URL: http://www.sciviews.org/SciViews-R
>
> Thank you.
> Best,
>
> Philippe Grosjean
>
> ..............................................<°}))><........
> ) ) ) ) )
> ( ( ( ( ( Prof. Philippe Grosjean
> ) ) ) ) )
> ( ( ( ( ( Numerical Ecology of Aquatic Systems
> ) ) ) ) ) Mons-Hainaut University, Pentagone
> ( ( ( ( ( Academie Universitaire Wallonie-Bruxelles
> ) ) ) ) ) 6, av du Champ de Mars, 7000 Mons, Belgium
> ( ( ( ( (
> ) ) ) ) ) phone: + 32.65.37.34.97, fax: + 32.65.37.33.12
> ( ( ( ( ( email: Philippe.Grosjean at umh.ac.be
> ) ) ) ) )
> ( ( ( ( ( web: http://www.umh.ac.be/~econum
> ) ) ) ) )
> ..............................................................
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list