Ist die Julia-Sprache wirklich so schnell, wie sie behauptet?

Im Anschlussdieser Beitrag Ich habe beschlossen, Julia mit GNU Octave zu vergleichen, und die Ergebnisse stimmten nicht mit den in gezeigten Beschleunigungen übereinjulialang.org.

Ich habe sowohl Julia als auch GNU Octave mit kompiliertCXXFLAGS='-std=c++11 -O3', die Ergebnisse, die ich bekam:

GNU Octave
a=0.9999;

tic;y=a.^(1:10000);toc
Elapsed time is 0.000159025 seconds.

tic;y=a.^(1:10000);toc
Elapsed time is 0.000162125 seconds.

tic;y=a.^(1:10000);toc
Elapsed time is 0.000159979 seconds.

-

tic;y=cumprod(ones(1,10000)*a);toc
Elapsed time is 0.000280142 seconds.

tic;y=cumprod(ones(1,10000)*a);toc
Elapsed time is 0.000280142 seconds.

tic;y=cumprod(ones(1,10000)*a);toc
Elapsed time is 0.000277996 seconds.
Julia
tic();y=a.^(1:10000);toc()
elapsed time: 0.003486508 seconds

tic();y=a.^(1:10000);toc()
elapsed time: 0.003909662 seconds

tic();y=a.^(1:10000);toc()
elapsed time: 0.003465313 seconds

-

tic();y=cumprod(ones(1,10000)*a);toc()
elapsed time: 0.001692931 seconds

tic();y=cumprod(ones(1,10000)*a);toc()
elapsed time: 0.001690245 seconds

tic();y=cumprod(ones(1,10000)*a);toc()
elapsed time: 0.001689241 seconds

Könnte jemand erklären, warum Julia mit diesen Grundoperationen langsamer als GNU Octave ist? Nach dem Aufwärmen sollte es LAPACK / BLAS ohne Overhead anrufen, oder?

BEARBEITEN:

Wie in den Kommentaren und Antworten erläutert, ist der obige Code weder ein guter Maßstab noch veranschaulicht er die Vorteile der Verwendung der Sprache in einer realen Anwendung. Früher hielt ich Julia für eine schnellere "Octave / MATLAB", aber es ist viel mehr. Es ist ein großer Schritt in Richtungproduktiv, leistungsstarkes, wissenschaftliches Rechnen. Mit Julia konnte ich 1) die in Fortran und C ++ geschriebene Software in meinem Forschungsbereich übertreffen und 2) den Benutzern eine viel schönere API bieten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage