私はJuliaを汎用科学計算言語(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はジュリアの著者の一人、昨年からの引用です。この戦略にはいくつかの難しさがありましたか?
ジュリアのほとんどは、自分自身で書かれ、その後解析され、型推論と にJITコンパイルされたので、一からシステム全体をブートストラップすることは、いくつかの 15〜20秒かかります。高速化するために、我々は を解析し、型を推測し、 型推論されたASTのシリアル化されたバージョンをファイルsys.jiにキャッシュする段階的なシステムを持っています。 juliaを実行すると、このファイルがロードされ、システムを実行するために が使用されます。しかし、LLVMコードまたはマシン のコードはsys.jiにキャッシュされます。したがって、LLVMジッタはすべて、juliaが起動するたびに を実行する必要があります。したがって、約2 秒かかります。
この2秒の起動遅延は非常に面倒です。私たちは を修正する計画を持っています。基本的な計画はJulia プログラムをバイナリにコンパイルできるようにすることです。実行可能な実行可能ファイルまたは.so/.dylib 共有ライブラリはのように他のプログラムから呼び出すことができます。他のCプログラムと同様に、バイナリの起動時間は になるため、2秒の起動遅延は消滅します。
Juliaangリポジトリにチェックアウト可能なブランチがあります。 https://github.com/JuliaLang/julia/pull/4898。多少の問題が残っている可能性がありますので、自己責任でお試しください。これは、今後リリースされる0.3リリースに含まれる可能性があります。 – ivarne