LINUX.ORG.RU

Java SE 6 Performance White Paper


0

0

Представлен сравнительный обзор показателей производительности и улучшений в масштабируемости Java стандартной версии 6 (Update 2) в сравнении с предыдущей версией платформы Java 5.0.

Java SE 6 включает несколько новых функций и усовершенствований для повышения производительности во многих частях платформы. Улучшения включают:

  • синхронизованные оптимизации выполнения, оптимизации производительности компилятора;
  • новый параллельный уплотняющий сборщик мусора (Parallel Compaction Collector);
  • более эргономичный параллельный низколатентный сборщик мусора (Concurrent Low Pause Collector);
  • ускорение запуска приложений.
Сравнение современной версии Java SE 6 Update 2 ведётся с предыдущей версией платформы -- Java SE 5 FCS.
Так, например, производительность операций ввода-вывода Java 6 в два раза выше, чем у Java 5.0; производительность корпоративных систем по тесту SPECjbb2005 Benchmark возросла на 70%; производительность Java в популярном тесте VolanoMark Benchmark выросла более чем на 40%; скорость запуска приложений увеличилась на 15-20%.

Также приводятся ссылки на материалы, посвящённые отдельным оптимизациям и тестам. В частности, интерес представляет отимизация сборки мусора и уменьшения потребления памяти в отдельной статье "Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning":
http://java.sun.com/javase/technologi...

Другие ссылки приведены по ходу обзора и в его конце.

>>> Подробности

Re: Java SE 6 Performance White Paper

отлично

anonymous ()

Re: Java SE 6 Performance White Paper

А на каком этапе сейчас находится открытие Java под GPL?

Davidov ★★★★ ()

Re: Java SE 6 Performance White Paper

Сейчас придут анонимусы, и расскажут, как Java тормозит у них на калькуляторах ))

edw1n ★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от edw1n

Re: Java SE 6 Performance White Paper

хм. У меня Eclipse на FreeBSD c 1 Гб оперативы и старым Athlon XP 2000+ летает даже на _пятой_ яве. Шестую не пробовал.

Но не уверен, что бы было, если бы у меня было меньше памяти.

P.S. Eclipse CDT не понравился.

xTERM ★★ ()

Re: Java SE 6 Performance White Paper

тормозит, не тормозит - какая разница?

всё равно альтернативы нет.

anonymous ()

Re: Java SE 6 Performance White Paper

НУ как, новые способы подсчёта производительности?
код на C уже во сколько раз обгоняет

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от INFOMAN

Re: Java SE 6 Performance White Paper

> Осмелюсь произнести слово Mono.

не смей! еретик!

anonymous ()

Re: Java SE 6 Performance White Paper

Отлично. Ждём Java EE 6.

Bohtvaroh ★★★★ ()

Re: Java SE 6 Performance White Paper

У меня два гига рамы + кор два дуо, с четырьмя метрами кеша. Жаба тормозит, следовательно жаба - говно, за пределы индус-энтерпрайз сановский высер не выпускать. ч.т.д.

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от xTERM

Re: Java SE 6 Performance White Paper

>Mono тормозит пуще Явы в несколько раз.

+1, но жаба все равно сильно тормозит.

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

не понимаю, откуда такая ненависть к жабе. ведь это наше светлое будущее.

anonymous ()

Re: Java SE 6 Performance White Paper

> более эргономичный параллельный низколатентный сборщик мусора (Concurrent Low Pause Collector);
сча понабегут низколатентные вантузятники и скажут что дотнет лучше явы, и вообще линукс у нас сакс. /me берет лом и ждет их.

AiFiLTr0 ★★★★★ ()

Re: Java SE 6 Performance White Paper

Если производительность будет расти такими темпами, скоро Ява будет стабильно решать задачи за отрицательное время o_O

tailgunner ★★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

> сколько в этих словах снобизма...

Да шутка это, шутка... грустная шутка - я (совершенно ненаучн) мерял время старта Eclipse (+ CDT) на Java 1.5 и 1.6, разницы практически нет, и скорость работы никак ощутимо не изменилась. А тут - такой свист :/

tailgunner ★★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от tailgunner

Re: Java SE 6 Performance White Paper

Зря ерничаете, в тех задачах где используются сеть/БД жаба уже ничем не устапает по скорости тем же дельфям (ананонимусы, которые любят запускать хелловорд на ВсуньСервере, идут в бобруйск). Мое личное впечатление - отставание от нативных вещей 20-30% максимум, что на современном железе практически незаметно (любители запускать эклипс на позорном гнушном поделие gij тоже идут в этот славный город). А в качестве маленького бонуса - полная кроссплатформенность, легкий профайлин, удаленная отладка + бесплатные IDE. А поводу моно, я тут пытался Data Provider для Firebird под моно установить - облом (exe с сетапом не хочет запускаться), а под .Net Framework на 2003 - запустился... Так что переносимость она разная - на уровне языка, на уровне байт кода, на уровня прикладных библотек, особенно проприетарных и/или с нативной жопой (как там насчет WinForms под моно?)

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

> Зря ерничаете

ИМХО, у меня есть причина

> в тех задачах где используются сеть/БД жаба уже ничем не устапает по скорости тем же дельфям

В таких задачах работает в основном "родной" код СУБД и сетевого стека, разве нет?

> А в качестве маленького бонуса - полная кроссплатформенность, легкий профайлин, удаленная отладка + бесплатные IDE

Это всё здорово, никто не спорит. Java - это кладезь тоскливо реализованных хороших идей.

tailgunner ★★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от Bohtvaroh

Re: Java SE 6 Performance White Paper

> всё-таки eclipse - это не pure-java, наверное это может сказываться.

Насколько я знаю, не-pure там только SWT, он при старте почти не работает... и в любом случае, вряд ли его производительность меняется в зависимости от нижележащей Ява-машины.

tailgunner ★★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

>бесплатные IDE

Удивил

>где используются сеть/БД жаба уже ничем не устапает по скорости тем же дельфям

На мой взгляд на сервере может быть даже прирост скорости за счет всякой параллельности, распределения нагрузки и [вставить умные слова]. Я не прав?

xTERM ★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от tailgunner

Re: Java SE 6 Performance White Paper

> Насколько я знаю, не-pure там только SWT, он при старте почти не работает... и в любом случае, вряд ли его производительность меняется в зависимости от нижележащей Ява-машины.

Так в том-то и дело, при старте что критично? Скорость винта и процессора, оптимизации jre тут мало чем могут помочь, а на скорость отрисовки swt и подавно, итого, eclipse - не то самое приложение, по времени старта которого следует оценивать производительность разных версий явы.

Bohtvaroh ★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от Bohtvaroh

Re: Java SE 6 Performance White Paper

> Так в том-то и дело, при старте что критично? Скорость винта и процессора, оптимизации jre тут мало чем могут помочь

"скорость запуска приложений увеличилась на 15-20%", а?

> eclipse - не то самое приложение, по времени старта которого следует оценивать производительность разных версий явы

Ты не прав, ИМХО: на моем ноуте Eclipse стартует ~17сек, если за это время оптимизации JRE еще не вступают в дело - сколько же времени им надо?

tailgunner ★★★★★ ()

Re: Java SE 6 Performance White Paper

Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Ява не тормозит! Аминь.

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от tailgunner

Re: Java SE 6 Performance White Paper

> "скорость запуска приложений увеличилась на 15-20%", а?

Кроме eclipse что-нибудь сравнивал? Я бы попробовал сравнить скорость запуска, к примеру, jboss, когда тот будет оффициально поддерживать 6-ку.

> Ты не прав, ИМХО: на моем ноуте Eclipse стартует ~17сек, если за это время оптимизации JRE еще не вступают в дело - сколько же времени им надо?

Оптимизации jre не могут оптимизировать скорость работы винта твоего ноута. Сейчас засёк на своём: 7 секунд холодный старт, горячий - не больше 4 с, java 5, eclipse 3.3.1 с кучей расширений. :)

Bohtvaroh ★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от Bohtvaroh

Re: Java SE 6 Performance White Paper

>> "скорость запуска приложений увеличилась на 15-20%", а?

> Кроме eclipse что-нибудь сравнивал? Я бы попробовал сравнить скорость запуска, к примеру, jboss

Я к Яве вообще не имею отношения, использую только Eclipse + CDT + PyDev 8)

> когда тот будет оффициально поддерживать 6-ку.

Как сказал бы бирди, "Wow... so much for portability" ;)

> Оптимизации jre не могут оптимизировать скорость работы винта твоего ноута

Я мерял время "теплого старта", естественно - и Eclipse, и Java должны были быть уже в памяти.

tailgunner ★★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от Bohtvaroh

Re: Java SE 6 Performance White Paper

Олололо, на жаборг.

Azureus на корке не вытягивает больше 6 MByte/s, при этом загрузка cpu 100% и жуткий отжор памяти.
uTorrent на той же системе прокачивает 10 MByte/s не напрягаясь (< 10%).

Угадайте, куда я им предложил после этого засунуть свою жабу?

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от tailgunner

Re: Java SE 6 Performance White Paper

>Я мерял время "теплого старта", естественно - и Eclipse, и Java должны были быть уже в памяти.

А время на JIT компиляцию ты учел? Может он все это время перегонял байт код в инструкции проца?

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от tailgunner

Re: Java SE 6 Performance White Paper

>> когда тот будет оффициально поддерживать 6-ку.

> Как сказал бы бирди, "Wow... so much for portability" ;)

Одно дело просто работать (работает), другое - полностью использовать все новые фичи и быть рекомендованным к использованию разработчиками в боевых условиях. Так что не канает.

Bohtvaroh ★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

> А время на JIT компиляцию ты учел?

Нет. Я же сказал - сравнение совершенно ненаучное, я эмулирую простого юзера, который особо не разбирается в потрохах Явы. Указанное выше ускорение запуска должно было проявиться и так.

> Может он все это время перегонял байт код в инструкции проца?

Может быть. Это одна из моих личных претензий к Яве - то, что она перегоняет байткод в "родной" при кадом запуске приложения в каждой JVM :D

tailgunner ★★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от tailgunner

Re: Java SE 6 Performance White Paper

Во-во. Почему нельзя один раз при инсталляции скомпилировать все свои библиотеки классов? Почему нельзя сохранить скомпилированную из байткода программу? Когда наконец это все будет??? Даже в Parrot это возможно!

xTERM ★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от xTERM

Re: Java SE 6 Performance White Paper

>Во-во. Почему нельзя один раз при инсталляции скомпилировать все свои библиотеки классов? Почему нельзя сохранить скомпилированную из байткода программу? Когда наконец это все будет??? Даже в Parrot это возможно!

Потому что это поставит крест на кросплатформенности. Что касается JIT, то не такое уж это больше неудобство и не такая большая плата за возможность переносить бинарники.

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

> Потому что это поставит крест на кросплатформенности. Что касается JIT, то не такое уж это больше неудобство и не такая большая плата за возможность переносить бинарники.

Вздор говоришь. Почему нельзя откомпилить при установке или при первом запуске и положить результат куда-нибудь в /var/cache?

ero-sennin ★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

>>Во-во. Почему нельзя один раз при инсталляции скомпилировать все свои библиотеки классов? Почему нельзя сохранить скомпилированную из байткода программу? Когда наконец это все будет??? Даже в Parrot это возможно!

> Потому что это поставит крест на кросплатформенности

Да ни разу это не крест - не распространяй предкомпилированные бинари, включи в JVM невозможность запуска таких бинарей. А вот время старта резко упадет, и потребление памяти - тоже.

tailgunner ★★★★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от xTERM

Re: Java SE 6 Performance White Paper

>Какой крест? Я у себя буду иметь откомпилированную прогу, а распространять байткод. В чем проблема?

Ты еще учти, что что жаба выполняется внутри управлемой среды (JVM), ее тоже надо будет включать в экзешник (разумеется в виде библиотек), кроме того опять же придется откомпилировать стандартные библиотеки. И память это штука будет жрать столько же. А все ради того чтобы у кого-то эклипс запустился на несколько секунд раньше... Лично мне JIT не мешает.

И у меня есть сильные подозрения что JIT компилит отнюдь не все, именно с этим связаны оптимизации от версии к версии.

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

Java-ненавистники как ни странно косвенным образом увеличивают зарплату Java-программистам. Меньше неокрепших умов идем программировать на яве под влиянием общественного мнения о тормозной яве.

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

> Потому что это поставит крест на кросплатформенности. Что касается JIT, то не такое уж это больше неудобство и не такая большая плата за возможность переносить бинарники.
Ничего не поставит. пользователь по прежнему будет запускать class/jar а кэш хранится в /var/cache/java/precompiled
Т.е. если бы работало по аналогии с man который сначала преформатирует доки, а затем выдергивает из cache

ilnurathome ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

> И память это штука будет жрать столько же

Скомпилированный код разные JVM могут использовать совместно через стандартные механизмы ОС, и один и тот же код не надо будет компилировать раз за разом, тратя на это время и память.

> А все ради того чтобы у кого-то эклипс запустился на несколько секунд раньше...

Не у кого-то, а у всех. И не только Эклипс.

tailgunner ★★★★★ ()

Re: Java SE 6 Performance White Paper

Все просто. Возьмем Zimbra. Что такое Zimbra? Это - postfix+cyrus+openldap+mysql+fetchmail+spamassassin+dspam+clamav. Плюс, веб морда (отличная морда, лучше не видел), построенная на Java EE (tomcat, lucene и тп). Так вот. Все, что не относится к веб-морде запускается за несколько секунд и запросто вполне успешно может работать на 256 метра. Запуск морды занимает десятки секунд и при этом, отжирает сразу гигабайт. При этом, что вот та вот связка, что веб-морда - это вполне энтерпрайз вещи. То есть способные обслуживать достаточное количество клиентов. Еще раз: сложнейший функционал (не в пример веб-морде) вполне успешно может работать на 256 мегабайтах и запускается за несколько секунд против веб-морды, которая отжирает гектар и грузится десятки секунд. Факты - на лицо. Получи, фашист, гранату!

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от ilnurathome

Re: Java SE 6 Performance White Paper

>Ничего не поставит. пользователь по прежнему будет запускать class/jar а кэш хранится в /var/cache/java/precompiled Т.е. если бы работало по аналогии с man который сначала преформатирует доки, а затем выдергивает из cache

Еще раз повторюсь - это не даст особого прироста и не сократит используемую память т.к. для исполняемое программы все равно придется реализовывать среду исполнения. Кроме того я не уверен что все можно закомпилить в нативный код, а потом подогнать к этому еще и JVM без костылей (Ведь должен же скомполированный экзешник как то обрабатовать например вызов System.gc из программы, причем делать он это должен так же как исполняемый внутри JVM байт код, а значит там должна быть управляемая среда...)

Это просто себя не окупит, а максимум что даст выигрышь в несколько секунд пре старте. Не ищете проблем там где их нет.

anonymous ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

> а максимум что даст выигрышь в несколько секунд пре старте

Ты троллишь или серьёзно? Ради этого выигрыша всё и затевается.

Ты знаешь, как работает любой latex? Или pch в любом компиляторе. Вот по такому же принципу можно избавить JVM от повторения одной и той же работы при каждом запуске.

ero-sennin ★★ ()
Ответ на: Re: Java SE 6 Performance White Paper от anonymous

Re: Java SE 6 Performance White Paper

>Все просто. Возьмем Zimbra. Что такое Zimbra? Это - postfix+cyrus+openldap+mysql+fetchmail+spamassassin+dspam+clamav. Плюс, веб морда (отличная морда, лучше не видел), построенная на Java EE (tomcat, lucene и тп). Так вот. Все, что не относится к веб-морде запускается за несколько секунд и запросто вполне успешно может работать на 256 метра. Запуск морды занимает десятки секунд и при этом, отжирает сразу гигабайт. При этом, что вот та вот связка, что веб-морда - это вполне энтерпрайз вещи. То есть способные обслуживать достаточное количество клиентов. Еще раз: сложнейший функционал (не в пример веб-морде) вполне успешно может работать на 256 мегабайтах и запускается за несколько секунд против веб-морды, которая отжирает гектар и грузится десятки секунд. Факты - на лицо. Получи, фашист, гранату!

Факты чего? Ну вот набежали красноглазики...

А вот мои факты: 1)Hello world - можно запустить в режиме (-Xms1m -Xmx1m) 2)Jetty+Axis2+Xalan+JDBC+Quartz - 13-15m (-Xms20m -Xmx64m) (с томкатом было бы примерно тоже самое) 3)Geronimo+вебмэйл (60 пользователей,~25Гб база) - 60m (в среднем) (-Xmx256m)

Ты бы товарищ ананимус разобрался что у тебя вместе с томкатом грузится, какие библиотеки используются, а потом бы уже наезжал. P.S. Не верю что лысый томкат сам по себе будет запускаться десятки секунд.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.