# Re: [R] Why R is 200 times slower than Matlab ?

From: Gabor Grothendieck <ggrothendieck_at_gmail.com>
Date: Wed, 30 Apr 2008 19:27:01 -0400

Aside from optiming your code by making use of R functions that use C underneath as much as possible the big difference between R and Matlab is Matlab's just-in-time compilation of code. When that was introduced in Matlab huge speedups of Matlab programs were noticeable.

For R, there is a new package on CRAN, jit, that aims to provide similar speedups.

On Wed, Apr 30, 2008 at 4:15 PM, Zhandong Liu <zhandong_at_mail.med.upenn.edu> wrote:
> I am switching from Matlab to R, but I found that R is 200 times slower than
> matlab.
>
> Since I am newbie to R, I must be missing some important programming tips.
>
>
> Here is the function:
> ## make the full pair-wise permutation of a vector
> ## input_fc=c(1,2,3);
> ## output_fc=(
> 1 1 1 2 2 2 3 3 3
> 1 2 3 1 2 3 1 2 3
> );
>
> grw_permute = function(input_fc){
>
> fc_vector = input_fc
>
> index = 1
>
> k = length(fc_vector)
>
> fc_matrix = matrix(0,2,k^2)
>
> for(i in 1:k){
>
> for(j in 1:k){
>
> fc_matrix[index] = fc_vector[i]
>
> fc_matrix[index+1] = fc_vector[j]
>
> index = index+2
>
> }
>
> }
>
> return(fc_matrix)
>
> }
>
> For an input vector of size 300. It took R 2.17 seconds to run.
>
> But the same code in matlab only needs 0.01 seconds to run.
>
> Am I missing sth in R.. Is there a away to optimize. ???
>
> Thanks
>
> --
> Zhandong Liu
>
> Genomics and Computational Biology
> University of Pennsylvania
>
> 616 BRB II/III, 421 Curie Boulevard
> University of Pennsylvania School of Medicine
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help