I (piton aksine) bir genel amaçlı bilimsel bilgi işlem dili olarak Julia kullanarak keşfetmek ediyorum, ama bu başlangıç zamanı oldukça halsiz olduğu bu. Bu hızlandırma herhangi bir yoluYavaş Julia Başlatma Süresi
var mı?
$ 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
EK: Here Julia yazarlarından biri geçen yıl bir alıntı. Bu strateji ile bazı zorluklar var mıydı? Julia çoğu kendi dili ile yazılmış
sonra tip-anlaşılmaktadır ve jitted yüzden sıfırdan tüm sistemi işe koşulması bazı 15-20 saniye sürer ayrıştırıldı. Daha hızlı hale getirmek için, biz, ayrıştırmak tip anlaması ve sonra dosya sys.ji. içinde tip anlaşılmaktadır AST tefrika sürümünü önbelleğe aşamalı sistem var Bu dosya yüklendi ve julia'yı çalıştırdığınızda sistemi çalıştırmak için kullanıldı. Hiçbir LLVM kodu veya makine kod Ancak sys.ji önbelleğe, bu nedenle tüm LLVM jitting hala bu nedenle yaklaşık 2 saniye sürer ki her zaman Julia başlatıldığında yapılması gerekiyor.Bu 2 saniye başlangıç gecikme oldukça rahatsız edici ve biz planı sabitleme var. Temel plan, tüm Julia programlarını ikili dosyalara derleyebilmektir: Çalıştırılabilen yürütülebilir dosyalar veya .so/.dylib diğer programlardan basitçe C kütüphaneleri paylaşıldıkları söylenebilir. Bir ikili için başlangıç zamanı, diğer C programları gibi olacaktır, böylece 2 saniyelik başlatma gecikmesi ortadan kalkar.
Şimdi kontrol edebilirsiniz Julialang Depodaki bir dal var. https://github.com/JuliaLang/julia/pull/4898. Büyük olasılıkla hala devam eden bazı sorunlar var, bu yüzden kendi riskinizi deneyin. Muhtemelen önümüzdeki 0,3 sürümüne dahil edilecektir. – ivarne