[R] Calling R from a Perl script: much slower?

Jim Holtman jholtman at gmail.com
Sat Sep 5 18:32:36 CEST 2009


you might also look at the output of 'ps' to see how much time each  
process is using.  also instrument your R script to collect the cpu  
time.

Sent from my iPhone

On Sep 4, 2009, at 11:34, J.delasHeras at ed.ac.uk wrote:

>
> Ah! sorted!
>
> it was NOT running the same code.
>
> We're making a GUI using Perl (Tcl/Tkx) to facilitate a number of  
> analyses in our lab to other people who don't necessarily want to  
> know about R (their loss ;-)
>
> I provided the R code to my colleague and he assured me he used it  
> without changes... but when I've looked into it, there were a number  
> of changes... (?) I restored the code to what I knew to work and  
> from the Tcl/Tkx GUI it's *almost* as fast as when I run it from a  
> clean session from the R console. So that was the problem.
>
> In case I'm still not doing things teh best way, we're invoking R  
> from Perl like this:
>
> invoking the script from Perl:
> @output = qx($R.exe --vanilla --args $list of arguments...)
>
> should I use Rterm.exe or Rcmd.exe instead of R.exe?
>
> Jose
>
>
>
>
> Quoting jim holtman <jholtman at gmail.com>:
>
>> What operating system are you running under?  You should take a look
>> at the R process and see how much time it is using to see if there is
>> a difference in the CPU time.  Are you paging?  Exactly how are you
>> invoking the R script?  Why are you using the GUI instead of Rterm?
>> You might try to run Rprof on the code to see if there are
>> differences.  Are you sure you are running exactly the same data in
>> both cases?
>>
>> On Thu, Sep 3, 2009 at 11:42 AM, <J.delasHeras at ed.ac.uk> wrote:
>>>
>>> Hello list,
>>>
>>> I use R for microarray analysis.
>>> One procedure I use takes a large matrix, and loops through it  
>>> looking for
>>> specific rows, does an operation with them, and outputs a result  
>>> (single
>>> row) as a row of another matrix. The loop goes on about 25000 times.
>>>
>>> When I run the loop directly from the R console itself, it takes  
>>> about 3
>>> minutes in my computer. I'm ok with that.
>>>
>>> Now, when that same code is ran from within a GUI we created using  
>>> Perl
>>> (Tcl/Tkx) it's taking 25-30 minutes to run.
>>>
>>> Within the R code I inserted a line so that it writes a little  
>>> file every
>>> 1000th iteration of the loop, so that I can follow the progress. I  
>>> don't
>>> understand why it takes 10x longer when ran from Perl.
>>>
>>> I am not new to R, but I am new to using it within Perl or any other
>>> language. Is there a way to improve performance? What is the  
>>> reason for the
>>> slower speed?
>>>
>>> I'll happily provide the code if somebody wants it.
>>>
>>> thank you.
>>>
>>> Jose
>>>
>>> --
>>> Dr. Jose I. de las Heras                      Email: J.delasHeras at ed.ac.uk
>>> The Wellcome Trust Centre for Cell Biology    Phone: +44 (0)131 6513374
>>> Institute for Cell & Molecular Biology        Fax:   +44 (0)131 6507360
>>> Swann Building, Mayfield Road
>>> University of Edinburgh
>>> Edinburgh EH9 3JR
>>> UK
>>> *********************************************
>>> NEW EMAIL from July'09: nach.mcnach at gmail.com
>>> *********************************************
>>>
>>> --
>>> The University of Edinburgh is a charitable body, registered in
>>> Scotland, with registration number SC005336.
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>
>>
>>
>> --
>> Jim Holtman
>> Cincinnati, OH
>> +1 513 646 9390
>>
>> What is the problem that you are trying to solve?
>>
>>
>
>
>
> -- 
> Dr. Jose I. de las Heras                      Email: J.delasHeras at ed.ac.uk
> The Wellcome Trust Centre for Cell Biology    Phone: +44 (0)131  
> 6513374
> Institute for Cell & Molecular Biology        Fax:   +44 (0)131  
> 6507360
> Swann Building, Mayfield Road
> University of Edinburgh
> Edinburgh EH9 3JR
> UK
> *********************************************
> NEW EMAIL from July'09: nach.mcnach at gmail.com
> *********************************************
>
> -- 
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
>
>




More information about the R-help mailing list