A quoi sert Azul Zing ?

La compagnie Californienne Azul Systems a gagné sa notoriété au travers de son produit phare : la JVM Zing. Cette JVM promet d’excellentes performances pour applications Java de manière déterministe : Zing aura toujours une faible latence pendant toute la durée de vie d’une application en production. La clef de cette machine virtuelle vient de son algorithme sans pause : C4 (Continuously Concurrent Compacting Collector). Les promesses de cette JVM sont-elles réalistes ? A qui cette JVM peut bénéficier et pour quel coût ?

NB : cet article présuppose que vous connaissez les principes du Garbage Collector. Les algorithmes sont détaillés de manière très pédagogue (en anglais) par Martin Thompson dans l’article cité ci-dessous.

Lire la suite

Compte-rendu conférence dotScale

OCTO était vendredi dernier à la conférence dotScale à Paris. Les différentes sessions de cette conférence tournaient autour du thème des architectures scalables en prenant pour modèle les acteurs du Web et du Cloud.

Durant la journée, de prestigieux speakers se sont relayés dans un format spécial : un enchaînement de keynotes de 20 à 30 minutes. Ainsi se relayaient sur la scène du Théâtre des Variétés des contributeurs majeurs comme Doug Cutting (Cloudera), Shay Bannon (ElasticSearch) ou encore Joshua McKenty (OpenStack).

Lire la suite

La programmation haute performance n’est-elle réservée qu’à une élite de développeurs C++ ?

Récemment un papier d’étude de Google UK a été publié sur la performance des langages de programmation JAVA, Scala, C++ et Go (Loop Recognition in C++/Java/Go/Scala). Dans ce papier, les performances des langages sont comparées sur la base d’un algorithme de recherche de boucles dans un graphe (Algorithme de Tarjan).

Principalement basé sur la performance d’exécution d’instructions séquentielles (boucles), la gestion de la mémoire, le temps de compilation et le nombre de lignes de code écrites cette étude montre que pour arriver à des hautes performances en C++ les optimisations techniques (au niveau du langage) deviennent trop compliquées pour le résultat produit. Comme le dit Robert Hundt :

 

We find that in regards to performance, C++ wins out by
a large margin. However, it also required the most extensive
tuning efforts, many of which were done at a level of sophistication
that would not be available to the average programmer.

Cependant, cet article a été critiqué sur son use-case peu pertinent et sur la validité des résultats. Quand même, C++ est le ++ fort ! Bien qu’il ait été maladroit, ce cher Robert a soulevé un point très intéressant : la programmation haute performance n’est-elle réservée qu’à une élite de développeur C++ ? Le développeur moyen peut-il espérer développer des applications haute performance ?

Lire la suite