- 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:

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.
- Visual C++程序設計教程
- Hands-On Enterprise Automation with Python.
- C#實踐教程(第2版)
- 軟件測試實用教程
- Natural Language Processing with Java and LingPipe Cookbook
- C語言程序設計
- 打開Go語言之門:入門、實戰與進階
- Hands-On GUI Programming with C++ and Qt5
- PHP編程基礎與實踐教程
- Python Social Media Analytics
- Keil Cx51 V7.0單片機高級語言編程與μVision2應用實踐
- Web前端測試與集成:Jasmine/Selenium/Protractor/Jenkins的最佳實踐
- Spring Boot 3:入門與應用實戰
- Apache Kafka 1.0 Cookbook
- Cloud Development andDeployment with CloudBees