2010-07-19 19 views
30

¿Alguien sabe de algún punto de referencia de rendimiento del nuevo Garbage First (G1) Garbage Collector de Java (en comparación con los GC "antiguos")?Rendimiento relativo del recolector de basura Garbage First (G1) de Java?

En términos de tiempos de pausa de GC, Sun afirma que G1 a veces es mejor y, a veces, peor que CMS. Si bien el recopilador G1 tiene éxito al limitar el tiempo total de pausa, sigue siendo solo un colector suave en tiempo real. En otras palabras, no puede garantizar que no afecte la capacidad de los subprocesos de la aplicación para cumplir sus plazos, todo el tiempo. Sin embargo, puede operar dentro de un conjunto bien definido de límites que lo hacen ideal para sistemas blandos en tiempo real que necesitan mantener un alto rendimiento.

Me gustaría ver medidas reales de rendimiento y latencia para los recopiladores CMS (marcación concurrente) y G1 (recolección de basura) de Java.

Respuesta

8

El artículo científico original ("Garbage-First Garbage Collection" por Detlefs, Inundación, Heller y Printezis) contiene algunos detalles sobre las medidas reales (en la sección 4).

+0

el papel es interesante, pero si G1 es realmente para aplicaciones de servidor con montones grandes, entonces las medidas en que el papel (todos con menos de 1 g montón) son probablemente no muy útil – Kevin

0

Este Taranfx article (2009-08-29) compara el rendimiento de Java 5, 6 y 7 en 4 puntos de referencia simples.

0

G1 se compara con CMS en su mayoría más rápido debido a la idea de varios hilos. Comparado con el Parallel-GC no lo sé, podría ser lo mismo. Por supuesto, G1 es más en tiempo real debido a que no se ejecutan dos tipos de subprocesos (principalmente el pequeño). Es más rápido porque cualquier hilo debe producir el mismo impacto en el rendimiento. Incluso la compactación solo se realiza al copiar. Para más detalles a echar un vistazo más de cerca a este: http://geekroom.de/java/java-expertise-g1-fur-java-7/

3

Acabamos de terminar una serie de pruebas sobre la CMS y G1, utilizando la ergonomía comparables. Esto es específico del producto y muy subjetivo, Y estamos usando Java 6 (entonces G1 está en la versión "vista previa") pero ...

Un sistema que usa CMS es 20% más rápido que G1. Esto se probó con 8GB y 12GB de espacio en montón, con 1GB y 1.5GB de espacio para jóvenes (respectivamente).

Nuevamente: carga subjetiva, sistema único y específico, pero esa es nuestra experiencia.

+1

¿Cómo se define "más rápido"? Más rendimiento, menor latencia, ¿qué? – dty

+2

CMS proporcionó un mejor rendimiento y menos tiempo total de detención del mundo. No probamos la capacidad de respuesta individual de las transacciones. –

+0

Gracias por la respuesta – dty

2

Si tiene una aplicación web, u otra aplicación que maneje muchos clientes/requisitos, y el tiempo de respuesta es importante para usted, entonces es mejor que use CMS. se encontró esta prueba en 'el rendimiento de Java y escalabilidad'

Cuestiones relacionadas