官术网_书友最值得收藏!

  • R High Performance Programming
  • Aloysius Lim William Tjhi
  • 293字
  • 2021-08-06 19:17:06

R is interpreted on the fly

In computer science parlance, R is known as an interpreted language. This means that every time you execute an R program, the R interpreter interprets and executes the R code on the fly. The following figure illustrates what happens when you run any R code:

R is interpreted on the fly

Interpreted language versus compiled language

R first parses your source code into an internal R object representation of all the statements and expressions in your R code. R then evaluates this internal R object to execute the code.

This is what makes R such a dynamic and interactive programming language. You can type R statements into the R console and get results immediately because the R interpreter parses and evaluates the code right away. The downside of this approach is that R code runs relatively slow because it is reinterpreted every time you run it, even when it has not changed.

Contrast this with a compiled language such as C or Fortran. When you work with a compiled language, you compile your source code into the machine code before you execute it. This makes compiled languages less interactive because the compilation step can take several minutes for large programs, even when you have made just a tiny change to the code. On the other hand, once the code has been compiled, it runs very quickly on the CPU since it is already in the computer's native language.

Due to R being an interpreted language, every time you run an R program, the CPU is busy doing two things: interpreting your code and executing the instructions contained in it. Therefore, the CPU's speed can limit the performance of R programs. We will learn how to overcome CPU limitations in chapters 3 to 5.

主站蜘蛛池模板: 四子王旗| 青海省| 五华县| 辽阳县| 绵阳市| 旬邑县| 西和县| 邯郸市| 白沙| 曲阳县| 宿迁市| 厦门市| 门头沟区| 天台县| 太谷县| 唐海县| 始兴县| 贡嘎县| 淮南市| 黎城县| 炎陵县| 石楼县| 中方县| 克东县| 富宁县| 阳高县| 招远市| 滕州市| 尖扎县| 巴东县| 留坝县| 梅河口市| 六枝特区| 高淳县| 息烽县| 讷河市| 兴国县| 万源市| 延安市| 津南区| 五河县|