Re: [R] performance question

2003-09-26 Thread Thomas Lumley
On Fri, 26 Sep 2003, Axel Benz wrote:

> Hi,
> I am about to write functions for multivariate kernel densitiy estimation
> with mixed categorical and continuous date (accoring to Jeff Racine and Qi
> Li), and the leave-one-out window esitmation needs a lot of computation.
> I am now optimizing the code performance and therefore fhe following
> questions:
>
> As R uses call-by-value for functions, is it computational expensive to pass
> large matrices in function arguments?

No, as long as they are not modified. R doesn't make actual copies if it
knows they aren't needed, it just creates a reference to the original
object.

> (i.e. are they really copied and does this need much computing time?) Is it
> maybe better to work with locally visible variables and nested functions in
> the optimized code?

It probably won't make a detectable difference.  Looking up a variable is
microscopically quicker if it is local (eg passed as a parameter), but you
need fairly extreme cases for this to be noticeable.


-thomas

Thomas Lumley   Assoc. Professor, Biostatistics
[EMAIL PROTECTED]   University of Washington, Seattle

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


Re: [R] performance question

2003-09-26 Thread Thomas W Blackwell
Axel  -

I believe that a function argument is not literally copied
until the first time it is modified within the function.
See email exchanges on this list from/to Ross Boylan within
the month of September for a more authoritative answer to
this question.  (Do you know about the R-help archives at
three sites listed on  http://cran.R-project.org/search.html ?)

-  tom blackwell  -  u michigan medical school  -  ann arbor  -

On Fri, 26 Sep 2003, Axel Benz wrote:

> I am about to write functions for multivariate kernel densitiy estimation
> with mixed categorical and continuous date (accoring to Jeff Racine and Qi
> Li), and the leave-one-out window esitmation needs a lot of computation.
> I am now optimizing the code performance and therefore fhe following
> questions:
>
> As R uses call-by-value for functions, is it computational expensive to pass
> large matrices in function arguments?
>
> (i.e. are they really copied and does this need much computing time?) Is it
> maybe better to work with locally visible variables and nested functions in
> the optimized code?
>
> I have already used Rprof (and I could speed up the code a lot by the
> information from Rprof), but it does not tell me about that.
>
> Thank you for your hints!
>
> Axel
> 
> Fraunhofer Institut fuer
> Arbeitswirtschaft und Organisation (IAO)
> Dipl. Inf. Axel Benz
> Nobelstr. 12
> D-70569 Stuttgart
> Germany
> Tel. +49(0)7119702289
> Fax. +49(0)7119702192
> mail: mailto:[EMAIL PROTECTED]
> www: http://www.vis.iao.fhg.de
> 

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help