32 votes

Performance relative du collecteur de déchets Garbage First (G1) de Java?

Personne ne sait de tests de performance, de Java, de nouvelles Ordures Première (G1) Garbage Collector (par rapport à "l'ancien" GCs)?

En termes de GC des temps de pause, Soleil états que G1 est parfois le meilleur et parfois le pire de la CMS. Alors que le G1 est collector réussi à limiter le total des temps de pause, c'est encore qu'un doux temps réel collector. En d'autres termes, elle ne peut garantir qu'il n'aura pas d'impact les threads de l'application de la capacité de respecter ses échéances, tout le temps. Cependant, il peut fonctionner au sein d'un ensemble bien défini de limites qui le rendent idéal pour les mou en temps réel des systèmes qui ont besoin de maintenir à haut débit de performance.

J'aimerais voir les mesures de débit et de latence pour Java CMS (simultanées marque de balayage) et G1 (ordures première) les collectionneurs.

8voto

Thomas Pornin Points 36984

L'article scientifique original ( "Garbage-First Garbage Collection" de Detlefs, Flood, Heller et Printezis) contient des détails sur les mesures effectives (section 4).

4voto

Radu Toader Points 160

Si vous avez une application Web ou une autre application qui gère un grand nombre de clients / demandes et que le temps de réponse est important pour vous, vous feriez mieux d'utiliser le CMS. ce test a été trouvé dans 'Performance et évolutivité Java'

3voto

Ran Biron Points 3015

Nous venons de terminer une série de tests sur CMS et G1, en utilisant une ergonomie comparable. Ceci est spécifique au produit et très subjectif, ET nous utilisons Java 6 (donc G1 est dans la version "preview") mais ...

Un système utilisant CMS est 20% plus rapide que G1. Cela a été testé avec 8 Go et 12 Go d'espace de tas, avec 1 Go et 1,5 Go d'espace jeune (respectivement).

Encore une fois - subjectif, système unique, charge spécifique - mais c'est notre expérience.

0voto

Chadwick Points 6302

Cet article de Taranfx (2009-08-29) compare les performances de Java 5, 6 et 7 sur 4 tests simples.

0voto

Daniel Points 11

G1 est par rapport à la CMS pour la plupart plus rapide en raison de l'idée de multi-threads. Par rapport à la Parallèle du GC, je ne sais pas - c'est peut-être le même. Bien sûr, G1 est plus en temps réel en raison de pas de deux types de threads en cours d'exécution (surtout la petite). C'est plus rapide parce que n'importe quel thread devrait produire le même impact sur les performances. Même le compactage est effectué uniquement sur la copie. Pour plus de détails, jetez un coup d'oeil à ceci: http://geekroom.de/java/java-expertise-g1-fur-java-7/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X