Hello,
Do you really need to read these data that often? What's the amount of data you read at each iteration? What's the buffer capacity of your system for sending these data? Couldn't you read data every 1/10 second (or another, better suited interval)? For instance, something like:

x <- GiveNextDataPortion()
while (!is.null(x)) {
    Sys.sleep(0.1)
    x <- GiveNextDataPortion()
}

If not, consider using C code, or the embedded Tcl (with the tcltk package) that has a very nice mechanism for I/O management in situations like this (google a little bit to find examples of use, or look at the svSocket or Rpad packages for examples of use in R).
Best,

Philippe Grosjean

..............................................<°}))><........
 ) ) ) ) )
( ( ( ( (    Prof. Philippe Grosjean
 ) ) ) ) )
( ( ( ( (    Numerical Ecology of Aquatic Systems
 ) ) ) ) )   Mons-Hainaut University, Belgium
( ( ( ( (
..............................................................

diver495 wrote:
The main task is computing of consistently received data. I have a function
named "GiveNextDataPortion()" that returns the list object. The number of
function's calls is about 5 millions and thus, I encountered a problem of
perfomance.

I use this script:

x<-GiveNextDataPortion()
while(is.null(x)==FALSE)
{
    x<-GiveNextDataPortion()
}

5 millions iterations of "while" loop takes about 20 seconds on my computer,
it is very quickly, but adding some simple extra operators increases the
time of test a lot. For example:

x<-GiveNextDataPortion()
i=0
j=1
while(is.null(x)==FALSE)
{
   x<-GiveNextDataPortion()
   i=i+1
   j= j*i
}

It will already take more than 10 minutes.
Have you any ideas about the optimization of this test?


Roland Rau-3 wrote:
Hi,

diver495 wrote:
Using Visual Basic I can complete the same script (simple loop of 5000000
itterations) in 0.1 sec.
Is it realy R not suitable for huge computing.
If you are happy with Visual Basic, then there is no need for you to use
R.
In case your message was not a flamebait, it is well known that loops like these are often bottlenecks for R.

There are many resources how to easily avoid them. See, for example, "S Programming by Venables and Ripley or John Chambers' book: Programming with data. Even searching the mail archive for subject like "avoid loops" might be helpful.
You might also consider checking functions like apply, tapply, ...

Best,
Roland

P.S.
It seems there is also a good book available for scientific computing with Visual Basic:
http://www.ibiblio.org/Dave/Dr-Fun/df200002/df20000210.jpg

______________________________________________
R-help@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.




______________________________________________
R-help@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.

Reply via email to