我正在探索使用朱莉婭作爲通用科學計算語言(而不是python),但它的啓動時間非常緩慢。慢朱莉婭啓動時間
有什麼辦法可以加速這個嗎?
$ time python -c 'print "Hello"'
Hello
real 0m0.030s
user 0m0.018s
sys 0m0.010s
$ time julia -e 'println("Hello")'
Hello
real 0m4.614s
user 0m4.644s
sys 0m0.116s
附錄:Here是從去年朱莉婭作者之一的報價。這個策略有沒有困難?
大多數朱莉婭寫入本身,然後解析,類型推斷和 即時編譯,因此從頭自舉整個系統需要一些 15-20秒。爲了加快速度,我們有一個分階段系統,我們在這個系統中解析,類型推斷,然後在文件sys.ji中緩存一個序列化版本的 類型推斷的AST。然後加載該文件,並在運行茱莉亞時使用該文件運行系統。沒有LLVM代碼或機器 代碼被高速緩存在sys.ji中,但是,所有LLVM jitting仍然需要 在每次啓動julia時完成,因此需要大約2 秒。
這2秒啓動延遲是相當惱人的,我們有一個 修復它的計劃。基本計劃是能夠將整個Julia 程序編譯爲二進制文件:可以運行的可執行文件或可以從其他程序調用的.so/.dylib 共享庫,就好像它們只是共享C庫一樣。與任何其他C程序一樣,二進制文件的啓動時間將爲 ,因此2秒啓動延遲將消失。
現在Julialang存儲庫中有一個分支可以檢出。 https://github.com/JuliaLang/julia/pull/4898。可能還有一些問題仍然存在,所以請自行承擔風險。它可能會包含在即將發佈的0.3版本中。 – ivarne