Developpez.com - Rubrique HPC

Le Club des Développeurs et IT Pro

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 2019-11-26 18:09:10, par dourouc05, Responsable Qt & Livres
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.
  Discussion forum
7 commentaires
  • Pour les gens normaux, qui sont plus proches de l'informatique que de l'académie française, il s'agit là de parallélisme SMP, à base de threads donc. Julia supportait déjà le parallélisme à base de processus mais pas vraiment le SMP. Avec l'évolution de la lib graphique, cette version de Julia est effectivement très attendue dans la communauté. Merci beaucoup pour cet article qui traduit très bien ça.