Julia est un langage de programmation cherchant à allier les avantages des langages dynamiques pour l'écriture facile de code et ceux des langages statiques en ce qui concerne la performance. Force est de constater qu'il y arrive raisonnablement bien, mais il manquait jusqu'il y a peu une bonne implémentation de l'exécution sur plusieurs fils d'exécution. Notamment, bon nombre d'objets de base ne géraient pas correctement les appels depuis plusieurs fils d'exécution. Julia 1.3 apporte une première implémentation complète des désirs des développeurs, notamment avec un ordonnanceur de fils d'exécution. Cela permet que chaque bibliothèque prévoie son exécution en parallèle, peu importe la manière dont l'utilisateur l'appellera (en parallèle ou pas) : Julia se charge d'ordonnancer les fils d'exécution pour garantir une performance maximale (plus de détails dans le reste du dossier).
Il reste encore du travail sur la planche au niveau de la performance. Plus précisément, la latence sera un des sujets prioritaires pour Julia 1.4. L'un des problèmes majeurs de Julia est le temps de démarrage de l'environnement, mais aussi la première exécution de certaines fonctions (le cas le plus courant était le paquet Plots.jl). La version de développement actuelle permet déjà de diviser par quatre le temps pour générer le premier graphique (qui passe sous les deux à trois secondes dans la majorité des cas).
Les binaires de Julia 1.3 ne sont pas encore disponibles, mais cela ne devrait pas trop tarder.
Voir le dépôt GitHub de Julia.
Sortie de Julia 1.3
Avec une implémentation largement améliorée de l'exécution en multifil. Julia 1.4 se focalisera sur la diminution de la latence
Sortie de Julia 1.3
Avec une implémentation largement améliorée de l'exécution en multifil. Julia 1.4 se focalisera sur la diminution de la latence
Le , par dourouc05
Une erreur dans cette actualité ? Signalez-nous-la !