Le contenu de cet article concerne la vitesse d'exécution de Julia et Java ? La comparaison des performances entre Julia et Java a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer, j'espère qu'elle vous sera utile.
Les performances de Julia seraient comparables à celles de c/c++. Je suis très curieux de connaître la vitesse d'exécution de Julia car j'ai toujours utilisé Java, je souhaite donc simplifier Julia. et Java.
Cette fois, comparez la vitesse de 100 millions d'opérations d'addition entre Julia et Java.
Tout d'abord, le code de Julia que j'ai écrit n'était pas optimisé. Jetons un coup d'œil à l'exécution du code de Julia :
x=0 @time for i in 1:10^8 global x+=i end
Voici les résultats de trois exécutions : environ 6 secondes
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)
Regardez le code Java et les résultats de l'exécution :
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)); } }
Résultats de trois exécutions : environ 40 ms
x=5000000050000000, duration=41 x=5000000050000000, duration=40 x=5000000050000000, duration=40
À en juger par les résultats d'exécution ci-dessus, Java est évidemment beaucoup plus rapide que Julia, avec un décalage horaire de plus de cent fois. Cependant, c'est du code que Julia n'a pas optimisé. Regardons la situation après. Optimisation Julia
Nous supprimons les variables globales, mettons le code dans la fonction, puis appelons la fonction Le code est le suivant :
function sumfor() x=0 for i in 1:10^8 x+=i end x end @time sumfor() @time sumfor()
Ce qui suit est le résultat de trois exécutions. Puisque Julia est la première, la première exécution effectuera les opérations de pré-compilation. Nous appellerons la méthode deux fois et le deuxième résultat prévaudra.
La deuxième exécution n'aura lieu que. 0,002 ms, ce qui est beaucoup plus rapide que Java.
0,080203 secondes (35,91 k allocations : 1,978 MiB)
0,000003 secondes (5 allocations : 176 octets)
0,062682 secondes (35,91 k allocations : 1,978 MiB, 46,11 % de temps gc)
0,0 00002 secondes (5 allocations : 176 octets)
0,037539 secondes (35,91 k allocations : 1,978 Mo)
0,000002 secondes (5 allocations : 176 octets)
Résumé : D'après la comparaison ci-dessus, Julia est bien Elle est beaucoup plus rapide que Java, mais seule une simple comparaison est faite ici et aucun test rigoureux n'est effectué à titre de référence uniquement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!