2009-01-21 85 views
6

我无法在网上找到它(我不想安装它)。 R language是一种编译语言吗?它运行预写脚本的速度有多快?它是否执行任何类型的编译,或者只是逐行执行指令?R是一种编译语言吗?

回答

13

在大多数情况下,R是一种在读评估打印循环中运行的解释型语言。 R有很多扩展,用C和Fortran等其他语言编写,其中速度或与本地库的接口有帮助。

6

我经常在C++中重写R代码,并使其运行速度提高了100倍。循环在R中尤其效率低下。

+1

利用矩阵运算确实很重要。另一方面,精心设计的R代码可以非常快速。看到这个讨论:http://wiki.r-project.org/rwiki/doku.php?id=tips:programming:code_optim2 – 2009-08-24 06:37:02

4

R通常是解释型语言。但是,包compiler提供了可以提高性能的字节码编译。你也可以调用R.的编译代码。

就速度而言,它取决于你想要做什么以及你如何去做。一些循环操作可能非常缓慢。但是,在许多情况下,通过编写良好的代码,R脚本的性能取决于底层内部基于C的库的速度和系统内存读写速度,所以R的速度与其他任何情况一样快。