2009-01-21 105 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的速度與其他任何情況一樣快。