Używam Julii jako ogólnego języka komputerowego (w przeciwieństwie do Pythona), ale czas uruchamiania jest dość powolny.Powolny czas uruchomienia Julii
Czy jest jakiś sposób przyspieszenia tego?
$ 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
DODATEK: Here cytat z jednego z autorów Julia ostatni rok. Czy była jakaś trudność z tą strategią?
Większość Julia jest napisane w sobie, a następnie analizowany, typu wywnioskować i jitted, więc ładowanie początkowe cały system od podstaw zajmuje kilka 15-20 sekund. Aby przyspieszyć działanie, mamy system etapowy, na którym analizujemy, typujemy, a następnie buforujemy zindywidualizowaną wersję identyfikatora AST typu w pliku sys.ji. Ten plik jest następnie ładowany i używany do uruchamiania systemu po uruchomieniu julia. Żaden kod LLVM ani kod maszynowy nie jest zapisany w pamięci podręcznej w sys.ji, więc cały proces JL LVM nadal wymaga do wykonania przy każdym uruchomieniu julia, co w związku z tym zajmuje około 2 sekund.
To 2-sekundowe opóźnienie uruchamiania jest dość denerwujące i mamy plan naprawienia go na . Podstawowym planem jest możliwość skompilowania całych programów Julia do plików binarnych: plików wykonywalnych, które można uruchamiać lub .so/.dylib bibliotek współdzielonych, które można wywoływać z innych programów tak, jakby były były po prostu współdzielonymi bibliotekami C. Czas uruchamiania dla pliku binarnego będzie jak każdy inny program C, więc 2-sekundowe opóźnienie uruchomienia zniknie.
Teraz istnieje oddział w repozytorium Julialanga, który można sprawdzić. https://github.com/JuliaLang/julia/pull/4898. Prawdopodobnie nadal istnieją pewne problemy, więc spróbuj na własne ryzyko. Prawdopodobnie pojawi się w nadchodzącym wydaniu 0.3. – ivarne