BT

Oracle propose G1 comme Ramasse-Miettes par défaut pour Java 9

| par Abraham Marín Pérez Suivre 8 Abonnés , traduit par Slim Ouertani Suivre 6 Abonnés le 06 juil. 2015. Durée de lecture estimée: 2 minutes |

Oracle envisage d'inclure JEP 248 dans la liste des JEP ciblant Java 9, rendant G1 le ramasse-miettes par défaut sur les configurations de serveur. La décision a déclenché un débat au sein de la communauté Java, avec beaucoup qui estiment que le collector Concurrent Mark and Sweep (CMS) aurait pu être plus approprié.

Si la décision est de poursuivre, G1 remplacerait Parallel GC comme choix par défaut pour les configurations de serveur. Tel que décrit dans le livre blanc La Gestion de la Mémoire publié par Oracle, Parallel GC a été conçu pour maximiser le débit des applications par l'intermédiaire de rares pauses (quoi que potentiellement longues) de Stop-The-World (STW). En minimisant le temps de calcul total utilisé par le collector, Parallel GC est moins perturbateur à long terme, offrant ainsi une meilleure performance générale. Ce collector est idéal pour les applications où le temps de réponse ne pose pas de problème, par exemple pour les traitements par lots.

D'autre part, Garbage First (G1) est conçu pour minimiser les pauses STW au détriment d'un coût de calcul plus élevé, comme expliqué précédemment sur ​​InfoQ par Monica Beckwith, ancien chef de la performance pour G1. G1 est mieux adapté pour les applications à faible latence comme les serveurs Web, ce qui constitue la motivation présentée par Stefan Johansson dans le JEP :

Limiter les temps de pause GC, en général, est plus important que maximiser le débit. Le passage à un collector à faible pause tel que G1 devrait fournir une meilleure expérience globale pour la plupart des utilisateurs, comparé à un collector orienté débit tel que le Parallel GC (actuellement par défaut).

La controverse vient du fait que le CMS a été introduit en HotSpot pour le même but, décrit par Oracle comme "Conçu pour les applications qui préfèrent de courtes pauses de ramasse-miettes, ce qui permet de partager les ressources du processeur avec le ramasse-miettes tandis que l'application est en cours d'exécution". Beaucoup d'études comparatives publiquement disponibles indiquent que CMS a tendance à surpasser G1 pour les applications relativement à faible empreinte, ce qui correspond à la description d'Oracle de G1 comme étant conçu pour les applications en mode serveur avec des heaps de 6 Go voir plus.

Kirk Pepperdine, expert en performance, a souligné dans une communication récente que Google avait contribué à un certain nombre d'améliorations sur CMS qui n'ont jamais vu le jour sur HotSpot. Il a également ajouté que, bien que G1 soit probablement le meilleur choix à long terme, les priorités d'ingénierie chez Oracle ont privé la communauté d'une meilleure expérience avec CMS.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT