On 17/01/2011 12:41 PM, Patrick Burns wrote:
Everyone has their own utility
function.  Mine is if the boredom
of waiting for the pure R function
to finish is going to out-weight the
boredom of writing the C code.

Another issue is that adding C code
increases the hassle of users who might
want the code to run on different
architectures.

... and also makes it harder for you and your users to tweak your code for different uses.

It is not uncommon for C code to run 100 times faster than R code (but it is also not uncommon to see very little speedup, if the R code is well vectorized). So if you have something that's really slow, think about the fundamental operations, and write those in C, then use R code to glue them together. But if it is fast enough without doing that, then leave it all in R.

Duncan Murdoch

On 17/01/2011 17:13, Patrick Leyshock wrote:
>  A question, please about development of R packages:
>
>  Are there any guidelines or best practices for deciding when and why to
>  implement an operation in R, vs. implementing it in C?  The "Writing R
>  Extensions" recommends "working in interpreted R code . . . this is normally
>  the best option."  But we do write C-functions and access them in R - the
>  question is, when/why is this justified, and when/why is it NOT justified?
>
>  While I have identified helpful documents on R coding standards, I have not
>  seen notes/discussions on when/why to implement in R, vs. when to implement
>  in C.
>
>  Thanks, Patrick
>
>  On Sun, Jan 16, 2011 at 3:00 AM,<r-devel-requ...@r-project.org>   wrote:
>
>>  Send R-devel mailing list submissions to
>>          r-devel@r-project.org
>>
>>  To subscribe or unsubscribe via the World Wide Web, visit
>>          https://stat.ethz.ch/mailman/listinfo/r-devel
>>  or, via email, send a message with subject or body 'help' to
>>          r-devel-requ...@r-project.org
>>
>>  You can reach the person managing the list at
>>          r-devel-ow...@r-project.org
>>
>>  When replying, please edit your Subject line so it is more specific
>>  than "Re: Contents of R-devel digest..."
>>
>>
>>  Today's Topics:
>>
>>     1. RPostgreSQL 0.1.7 for Windows 64 causes R.2.12.1 Win64 crash
>>        (Xiaobo Gu)
>>
>>
>>  ----------------------------------------------------------------------
>>
>>  Message: 1
>>  Date: Sat, 15 Jan 2011 10:34:55 +0800
>>  From: Xiaobo Gu<guxiaobo1...@gmail.com>
>>  To: r-devel@r-project.org
>>  Subject: [Rd] RPostgreSQL 0.1.7 for Windows 64 causes R.2.12.1 Win64
>>          crash
>>  Message-ID:
>>          <aanlktinvoub-z_le1gvpyswnqtsw1p6mzzlzsztoi...@mail.gmail.com>
>>  Content-Type: text/plain; charset=ISO-8859-1
>>
>>  Hi,
>>  I build the binary package file of RPostgreSQL 0.1.7 for Windows 2003
>>  Server R2 64 bit SP2, the software environments are as following:
>>           R 2.12.1 for Win64
>>           RTools212 for Win64
>>           DBI 0.2.5
>>           RPostgreSQL 0.1.7
>>           Postgresql related binaries shipped with
>>  postgresql-9.0.2-1-windows_x64.exe from EnterpriseDB
>>
>>  The package can be loaded, and driver can be created, but the
>>  dbConnect function causes the whole RGui crashes,
>>
>>  driver<- dbDriver("PostgreSQL")
>>  con<- dbConnect(driver, dbname="demo", host="192.168.8.1",
>>  user="postgres", password="postgres", port=5432)
>>
>>
>>
>>  ------------------------------
>>
>>  _______________________________________________
>>  R-devel@r-project.org mailing list  DIGESTED
>>  https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>>  End of R-devel Digest, Vol 95, Issue 14
>>  ***************************************
>>
>
>    [[alternative HTML version deleted]]
>
>  ______________________________________________
>  R-devel@r-project.org mailing list
>  https://stat.ethz.ch/mailman/listinfo/r-devel
>


______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to