If you forge on with your preconceptions of how such a simulation should be 
implemented then you will be able to reproduce your failure just as 
spectacularly using R as you did using Octave. It is crucial to employ 
vectorization of your algorithms if you want good performance with either 
Octave or R. That vectorization may either be over time or over separate 
simulations.

I am running simulations of a million cases of power plant performance over 25 
years in about a minute. I know someone who used R to simulate a CFD river flow 
problem in a class in a few minutes, while others using Fortran or Matlab were 
struggling to get comparable runs completed in many hours. I believe the 
difference was in how the data were structured and manipulated more than the 
language that was being used. I think the strong capabilities for presenting 
results using R makes using it advantageous over Octave, though.

If your problems truly need a compiled language, the Rcpp package lets you mix 
C++ with R quite easily and then you get the best of both worlds. (C and 
Fortran are supported, but they are a bit more finicky to setup than C++).

On January 28, 2019 4:00:07 PM PST, Alan Feuerbacher <alan...@comcast.net> 
wrote:
>On 1/28/2019 4:20 PM, Rolf Turner wrote:
>> 
>> On 1/29/19 10:05 AM, Alan Feuerbacher wrote:
>> 
>>> Hi,
>>>
>>> I recently learned of the existence of R through a physicist friend 
>>> who uses it in his research. I've used Octave for a decade, and C
>for 
>>> 35 years, but would like to learn R. These all have advantages and 
>>> disadvantages for certain tasks, but as I'm new to R I hardly know
>how 
>>> to evaluate them. Any suggestions?
>> 
>> * C is fast, but with a syntax that is (to my mind) virtually
>>    incomprehensible.  (You probably think differently about this.)
>
>I've been doing it long enough that I have little problem with it, 
>except for pointers. :-)
>
>> * In C, you essentially have to roll your own for all tasks; in R,
>>    practically anything (well ...) that you want to do has already
>>    been programmed up.  CRAN is a wonderful resource, and there's
>more
>>    on github.
> >
>> * The syntax of R meshes beautifully with *my* thought patterns;
>YMMV.
>> 
>> * Why not just bog in and try R out?  It's free, it's readily
>available,
>>    and there are a number of good online tutorials.
>
>I just installed R on my Linux Fedora system, so I'll do that.
>
>I wonder if you'd care to comment on my little project that prompted 
>this? As part of another project, I wanted to model population growth 
>starting from a handful of starting individuals. This is exponential in
>
>the long run, of course, but I wanted to see how a few basic parameters
>
>affected the outcome. Using Octave, I modeled a single person as a 
>"cell", which in Octave has a good deal of overhead. The program 
>basically looped over the entire population, and updated each person 
>according to the parameters, which included random statistical 
>variations. So when the total population reached, say 10,000, and an 
>update time of 1 day, the program had to execute 10,000 x 365 update 
>operations for each year of growth. For large populations, say 100,000,
>
>the program did not return even after 24 hours of run time.
>
>So I switched to C, and used its "struct" declaration and an array of 
>structs to model the population. This allowed the program to complete
>in 
>under a minute as opposed to 24 hours+. So in line with your comments,
>C 
>is far more efficient than Octave.
>
>How do you think R would fare in this simulation?
>
>Alan
>
>
>---
>This email has been checked for viruses by Avast antivirus software.
>https://www.avast.com/antivirus
>
>______________________________________________
>R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>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.

-- 
Sent from my phone. Please excuse my brevity.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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