Maison > Java > javaDidacticiel > Quelle est la vitesse d'exécution de Julia et Java ? Comparaison des performances de Julia et Java

Quelle est la vitesse d'exécution de Julia et Java ? Comparaison des performances de Julia et Java

不言
Libérer: 2018-09-15 16:47:08
original
4872 Les gens l'ont consulté

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.

1. Introduction

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.

2. Comparaison entre Julia sans optimisation 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
Copier après la connexion

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)
Copier après la connexion

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));
        }
}
Copier après la connexion

Résultats de trois exécutions : environ 40 ms

x=5000000050000000, duration=41
x=5000000050000000, duration=40
x=5000000050000000, duration=40
Copier après la connexion

À 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

3. Optimisation Julia Après comparaison avec Java

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()
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal