Подтвердить что ты не робот

Относительная производительность сборщика мусора Java First (G1)?

Кто-нибудь знает какие-либо тесты производительности Java New Garbage First (G1) Collector мусора (по сравнению с "старыми" GC)?

В терминах времени паузы GC Sun утверждает, что G1 иногда лучше, а иногда и хуже, чем CMS. В то время как сборщик G1 успешно ограничивает общее время паузы, он по-прежнему остается только мягким сборщиком в режиме реального времени. Другими словами, он не может гарантировать, что он не будет влиять на способность потоков приложений выполнять свои крайние сроки, все время. Тем не менее, он может работать в пределах четко определенного набора границ, которые делают его идеальным для мягких систем реального времени, которые должны поддерживать высокую пропускную способность.

Я бы хотел увидеть фактические показатели пропускной способности и задержки для Java CMS (одновременная развертка метки) и сборщиков G1 (первый мусор).

4b9b3361

Ответ 1

В оригинальной научной статье ( "Сбор мусора первого мусора" от Detlefs, Flood, Heller и Printezis) содержится подробная информация о реальных мерах ( в разделе 4).

Ответ 2

Мы только что закончили серию тестов над CMS и G1, используя сопоставимую эргономику. Это специфичный продукт и очень субъективный, и мы используем Java 6 (так что G1 находится в сборке "Предварительный просмотр" ), но...

Система с использованием CMS на 20% быстрее, чем G1. Это было протестировано с объемом памяти 8 ГБ и 12 ГБ, с 1 ГБ и 1,5 ГБ юнита (соответственно).

Опять же - субъективная, единая система, конкретная нагрузка - но это наш опыт.

Ответ 3

Если у вас есть веб-приложение или другое приложение, которое обрабатывает множество клиентов /req, а время ответа важно для вас, то вам лучше использовать CMS. этот тест был найден в "Производительности и масштабируемости Java"

Ответ 4

Этот статья Taranfx (2009-08-29) сравнивает производительность Java 5, 6 и 7 на 4 простых тестах.

Ответ 5

G1 сравнивается с CMS в основном быстрее из-за идеи нескольких потоков. По сравнению с Parallel-GC я не знаю - это может быть одинаково. Конечно, G1 больше в режиме реального времени из-за отсутствия двух видов потоков (в основном небольших). Это быстрее, потому что любой поток должен оказывать такое же влияние на производительность. Даже уплотнение выполняется только при копировании. Для более подробной информации более подробно рассмотрим следующее: http://geekroom.de/java/java-expertise-g1-fur-java-7/