是否可以在程序中設置RTS
選項?在程序中設置RTS設置
具體來說,我想要達到相同
./my-prog +RTS -M4G
我知道哈斯克爾堆棧,你可以決定在編譯時的一些RTS選項。但我不想在編譯時修復這些選項,因爲我希望我的程序從配置文件中讀取這些選項,並讓它知道這些選項。
GHC可以嗎?
是否可以在程序中設置RTS
選項?在程序中設置RTS設置
具體來說,我想要達到相同
./my-prog +RTS -M4G
我知道哈斯克爾堆棧,你可以決定在編譯時的一些RTS選項。但我不想在編譯時修復這些選項,因爲我希望我的程序從配置文件中讀取這些選項,並讓它知道這些選項。
GHC可以嗎?
我不認爲可以從程序本身設置這些選項,但可以在運行時進行設置,配置分析只需要在您希望設置RTS選項的程序的外部。您可以編寫一個程序/腳本來讀取配置並運行您的目標程序,並傳遞所需的選項。
您可以編寫一些C代碼並覆蓋一些GC掛鉤,但最簡單的方法可能是讓腳本設置一個環境變量。該GHC用戶指南列出了4種方式RTS選項可以設置: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#setting-rts-options
有四種方法來設置RTS選項:運行時
+ RTS ... -RTS之間,在命令行上程序 (設定在命令行上RTS選項)
在編譯時,使用-with-rtsopts(設定在編譯時間 RTS選項)
與環境變量GHCRTS通過在運行時系統覆蓋「掛鉤」(設定與 GHCRTS環境變量RTS選項)
(「掛鉤」,以改變RTS 行爲)