Re: [R] efficiency with "%*%"

From: Uwe Ligges <ligges_at_statistik.uni-dortmund.de>
Date: Fri 27 Jan 2006 - 01:55:55 EST

Philippe Grosjean wrote:

> Excellent, but...
> 
>  > x <- rnorm(1000000)
>  > y <- rnorm(1000000)
>  > system.time(x%*%y)
> [1] 0.03 0.00 0.03   NA   NA
>  > system.time(sum(x*y))
> [1] 0.05 0.00 0.04   NA   NA
>  > system.time(crossprod(x, y))
> [1]  0  0  0 NA NA
> 
> So, to paraphrase a well-known contributor on this mailing list:
> "Excellent! So, what did you decided to do during the next 30 
> milliseconds you will save by using crossprod() instead of x%*%y?
> (joke)
> 
> Best,
> 
> Philippe Grosjean
> 
> P.S.: Uwe, perhaps you should consider buying a faster computer, isn't 
> it? :-()

Well, I use R, you know. It is even fast enough for my 5 year old laptop. For your super computer, please replace 1e6 by 1e8 in the example above. ;-)

Uwe

> Uwe Ligges wrote:
> 

>> dimitrijoe@ipea.gov.br wrote:
>>
>>
>>> Hi,
>>>
>>> x and y are (numeric) vectors. I wonder if one of the following is more
>>> efficient than the other:
>>>
>>> x%*%y
>>>
>>> or
>>>
>>> sum(x*y)
>>> ?
>>
>>
>>
>> I'd try
>>
>> x <- rnorm(1000000)
>> y <- rnorm(1000000)
>> system.time(x%*%y)
>> system.time(sum(x*y))
>>
>> and finally (hint, hint!):
>>
>> system.time(crossprod(x, y))
>>
>> Uwe Ligges
>>
>>
>>
>>> Thanks,
>>> Dimitri Szerman
>>>
>>> ______________________________________________
>>> R-help@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
>>
>>
>>
>> ______________________________________________
>> R-help@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
>>
>>


R-help@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 Received on Fri Jan 27 02:01:03 2006

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:42:12 EST