Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Java performance


Автор: Andy_L20066 25.11.2009, 18:35
привет, 
есть такой вопрос: вот хочу посмотреть на перформанс Java 5 и Java 6, но  в своей IDE. Вот только не знаю как. Может кто делал подобное. Ну, можно написать какую-то прогу, запустить ее на 5ой и 6й версиях, но что должна делать прога чтоб действительно можно видеть различия в перформансе?

Автор: LSD 25.11.2009, 20:26
Цитата(Andy_L20066 @  25.11.2009,  18:35 Найти цитируемый пост)
но что должна делать прога чтоб действительно можно видеть различия в перформансе?

Вычисления по какому либо алгоритму, чтение данных из файла или БД, отправку/прием данных по сети, парсинг XML. В общем все, что делает твое приложение.

Автор: Temdegon 25.11.2009, 20:48
Кстате, очень интересная тема! Самому писать такие тесты не оч хорошая идея, ведь java это не Си, тут же и GC, JIT и HotSwap могут сильно повлиять на обьективность результата.
Много лет назад, когда возился с J2ME, мне попадался такой jar, который тестировал производительность java-платформы на мобильном телефоне - операции с павающей точкой, скорость отрисовки и т.д, а потом выводил результат. Хотелось бы что-то подобное для десктопной JRE. Мне очень хотелось бы сравнить скорость разных версий JRE, под линукс, винду, мак, на системе с одним\двумя ядрами. Ну и потом увидеть какую-то сводную табличку. Ну и вообще, особо интересно сравнивать не Java 5 и Java 6, а JRE от Sun с JRE других производителей, на пример JRE от IBM.

Автор: Temdegon 25.11.2009, 21:05
Еще мне хотелось бы поэкспериментировать java-компиляторами. В разделе IDE целая ветка-опрос есть про компиляторы, и вроде как в них есть смысл. Но нужно найти какую-то универсальную прогу, для тестирования производительности, что бы можно было  легко сравнить результаты работы разных компиляторов.

Автор: COVD 26.11.2009, 15:35
Скорость компилятора влияет на скорость разработки и, следовательно, на доходы разработчика?
Cкорость JRE влияет на затраты на оборудование и, следовательно, на доходы компании?
 smile  

Автор: kamre 26.11.2009, 16:34
Цитата(Temdegon @ 25.11.2009,  21:05)
Еще мне хотелось бы поэкспериментировать java-компиляторами.

А разве Java-компиляторы генерируют существенно разный байткод для одно и того же исходника? Например, в Eclipse JDT свой компилятор (ему JDK не нужен), он чем-то сильно отличается по итоговому байткоду от компилятора в JDK?

Автор: Temdegon 26.11.2009, 17:07
Цитата

А разве Java-компиляторы генерируют существенно разный байткод для одно и того же исходника? Например, в Eclipse JDT свой компилятор (ему JDK не нужен), он чем-то сильно отличается по итоговому байткоду от компилятора в JDK?

Ну вот это и хотелось бы проверить.
Разница может быть не существенная, а может быть огромная. 
Вот взять на пример линуксовый gcc. Можно компилить с флагами оптимизации по дефолту, а можно включить -O3 и результат будет совсем другим. На работе товарищ пишет прогу автосоставления расписания. Работает она достаточно долго. Так вот, только флагами компиляции удалось уменьшить время выполнения программы более чем в два раза. 
Если куча сравнений разных сишных компиляторов, и результат их работы очень-очень отличается.
Не думаю, что с компиляторами байткода будет такая же картина. Но если разница все-таки есть, то хотелось бы это знать

Автор: serger 26.11.2009, 17:11
Цитата(Temdegon @  26.11.2009,  17:07 Найти цитируемый пост)
Не думаю, что с компиляторами байткода будет такая же картина. Но если разница все-таки есть, то хотелось бы это знать 

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

Автор: Andy_L20066 26.11.2009, 17:26
Temdegon, тоже хотелось бы сравнить JRE от разных производителей, но как бы пока цель другая... Наверное придется согласится с тем что написал LSD вначале... поскольку что-то ничего в голову больше не приходит... . Возьму апликацию с которой работаю, поексперементирую

Добавлено через 7 минут и 26 секунд
Sun к примеру использует тулзу SPECjbb2005 (http://www.spec.org/jbb2005/) для тестирования server-side Java, ну можно найти кучу уже готовых результатов улучшения перформенса для Java 6 по сравнению из Java 5 здесь http://java.sun.com/performance/reference/whitepapers/6_performance.html


Автор: jk1 13.12.2009, 16:38
Вам прямая дорога к профайлеру:

http://habrahabr.ru/blogs/java/61857/

Для тюнинга сборщика мусора можете воспользоваться вот этой статьей:

http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)