Heim >Java >javaLernprogramm >Wie hoch ist die Ausführungsgeschwindigkeit von Julia und Java? Leistungsvergleich von Julia und Java
Der Inhalt dieses Artikels befasst sich mit der Ausführungsgeschwindigkeit von Julia und Java? Der Leistungsvergleich zwischen Julia und Java hat einen gewissen Referenzwert. Ich hoffe, dass er für Sie hilfreich ist.
Julias Leistung soll mit c/c++ vergleichbar sein. Ich bin sehr neugierig auf die Ausführungsgeschwindigkeit von Julia, weil ich immer Java verwendet habe, deshalb möchte ich Julia vereinfachen und Java.
Vergleichen Sie dieses Mal die Geschwindigkeit von 100 Millionen Additionsoperationen zwischen Julia und Java.
Zunächst einmal war der Julia-Code, den ich geschrieben habe, nicht optimiert:
x=0 @time for i in 1:10^8 global x+=i end
Das sind drei Ausführungen. Das Ergebnis: etwa 6 Sekunden
6.550459 seconds (200.00 M allocations: 2.980 GiB, 18.45% gc time) 6.565272 seconds (200.00 M allocations: 2.980 GiB, 18.15% gc time) 6.382583 seconds (200.00 M allocations: 2.980 GiB, 18.37% gc time)
Sehen Sie sich den Java-Code und die Ausführungsergebnisse noch einmal an:
public class Test1 { public static void main(String[] args) { long t1=System.currentTimeMillis(); long x=0; for(int i = 1; i<=100000000; i++) x+=i; long t2=System.currentTimeMillis(); System.out.println("x="+x+", duration="+(t2-t1)); } }
Drei Ausführungsergebnisse: etwa 40 ms
x=5000000050000000, duration=41 x=5000000050000000, duration=40 x=5000000050000000, duration=40
Von oben Ausführungsergebnisse, Java Es ist offensichtlich viel schneller als Julia, mit einem Zeitunterschied von mehr als dem Hundertfachen, aber dies ist Julias nicht optimierter Code. Schauen wir uns die Situation nach Julias Optimierung an
Wir entfernen die globalen Variablen, fügen den Code in die Funktion ein und rufen dann die Funktion auf. Der Code lautet wie folgt:
function sumfor() x=0 for i in 1:10^8 x+=i end x end @time sumfor() @time sumfor()
Das Folgende sind die Ergebnisse von drei Ausführungen. Da Julia in der ersten Ausführung eine Vorkompilierung durchführt, wird die Methode zweimal aufgerufen und das zweite Ergebnis hat Vorrang.
Die zweite Ausführung dauerte nur 0,002 ms, was viel schneller ist als bei Java.
0,080203 Sekunden (35,91.000 Zuweisungen: 1,978 MiB)
0,000003 Sekunden (5 Zuweisungen: 176 Bytes)
0,062682 Sekunden (35,91.000 Zuweisungen: 1,978 MiB, 46,11 % GC-Zeit)
0. 000002 Sekunden (5 Zuweisungen: 176 Bytes)
0,037539 Sekunden (35,91 k Zuweisungen: 1,978 MiB)
0,000002 Sekunden (5 Zuweisungen: 176 Bytes)
Zusammenfassung: Aus dem obigen Vergleich geht hervor, dass Julia es tatsächlich ist ist viel schneller als Java, aber hier wird nur ein einfacher Vergleich durchgeführt und es werden keine strengen Tests durchgeführt. Dies dient nur als Referenz.
Das obige ist der detaillierte Inhalt vonWie hoch ist die Ausführungsgeschwindigkeit von Julia und Java? Leistungsvergleich von Julia und Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!