我有一個具有自寫功能的腳本(無重複)。當我將該腳本複製粘貼到R-Studio控制檯時,需要很長時間才能執行,但是當我使用source("Helperfunctions.R")
時,它不會超過一秒。爲什麼源代碼速度與RStudio控制檯代碼不同?
問題:速度差異從哪裏來?
我知道通過source()
功能與在R-Studio控制檯輸入代碼運行的代碼之間有兩點不同:
從?source
:
由於表達式不會在頂層執行,自動打印沒有完成。
我明白這個問題的方法:source()
將不情節圖(除非作了具體有例如print(plot)
),而將R Studio控制檯代碼將總是繪製圖表。我相信這會在一定程度上影響執行的速度,但這對我來說似乎是無關緊要的,因爲幾乎沒有任何劇情調用。
和:
(...)的完整文件中的任何改變其經營
我一直在R
工作了一段時間,現在才進行分析,但我不確定這是否與我遇到的速度問題有關。是否有可能完全解析所有代碼「在運行任何代碼之前」會將我的幫助函數腳本的執行速度提高一百倍?
編輯:我正在使用R版本3.2.3。
無論您是一次全部源代碼,還是逐行執行代碼,R都必須解析代碼。你在使用Rgui嗎?究竟需要多久? – Roland
我使用RStudio。我總是用'source(「Helperfunctions.R」)開始我的腳本,這很快。但是,當我複製Helperfunctions.R的內容並直接執行代碼時,代碼運行需要很長時間。這有幫助,@羅蘭? –
我觀察過一樣,不知道原因。我認爲在RStudio支持論壇中還有一些關於它的內容。 – Roland