R是编译语言吗?

Posted

技术标签:

【中文标题】R是编译语言吗?【英文标题】:Is R a compiled language? 【发布时间】:2010-10-02 19:11:09 【问题描述】:

我在网络上的任何地方都找不到它(而且我不想安装它)。 R language 是编译语言吗?它运行预先编写的脚本的速度有多快?它是做任何类型的编译,还是只是逐行执行指令?

【问题讨论】:

【参考方案1】:

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

就多快而言,这取决于您要做什么以及您要如何去做。一些循环操作可能非常慢。然而,在许多情况下,如果代码编写得很好,R 脚本的性能取决于底层内部基于 C 的库的速度和系统内存读写速度,因此 R 与其他任何东西一样快。

【讨论】:

【参考方案2】:

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

【讨论】:

利用矩阵运算确实很重要。另一方面,精心设计的 R 代码可以非常快。请参阅此讨论:wiki.r-project.org/rwiki/…【参考方案3】:

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

【讨论】:

以上是关于R是编译语言吗?的主要内容,如果未能解决你的问题,请参考以下文章

可以不学习stata,只学习r语言吗

关于R语言。。。能解释下啥意思

在C语言的文件中,像r,w,a,r+,w+,a+分别是啥意思,前面三者与后面三者有啥区别吗?

利用r语言相关性检验结果可能为0吗

R语言置换检验(permutation tests响应变量是否独立于组两个数值变量是独立的吗两个分类变量是独立的吗)置换检验的基本步骤R语言自助法Bootstrapping计算置信区间

R语言可以处理大的数据吗