Тестирование Java-программ - PullRequest
12 голосов
/ 03 января 2011

Для университета я выполняю модификации байт-кода и анализирую их влияние на производительность программ Java. Поэтому мне нужны Java-программы - в лучшем случае используемые в производстве - и соответствующие тесты. Например, я уже приобрел HyperSQL и измерил его производительность с помощью тестовой программы PolePosition . Java-программы, работающие на JVM без JIT-компилятора. Спасибо за вашу помощь!

P.S .: Я не могу использовать программы для оценки производительности JVM или самого языка Java (например, Wide Finder).

Ответы [ 3 ]

9 голосов
/ 21 января 2011

Брент Бойер (Brent Boyer) написал замечательную серию статей для работ разработчиков IBM: Надежный Java-бенчмаркинг , который сопровождается фреймворком микро-бенчмаркинга, основанным на надежном статистическом подходе. Статья и Страница ресурсов .

Поскольку вы делаете это для университета, вас могут заинтересовать Энди Жорж, Дрис Байтаерт, Ливен Экхоут: Статистически строгая оценка производительности Java в OOPSLA 2007 .

9 голосов
/ 21 января 2011

Штангенциркуль - это инструмент, предоставленный Google для микробиктмаркинга. Он предоставит вам графики и все. Люди, которые собирают этот инструмент вместе, хорошо знакомы с принципом «преждевременная оптимизация - корень всего зла» (с точки зрения Юнтинга) и очень осторожны в объяснении роли бенчмаркинга.

1 голос
/ 13 января 2011

Любой опытный программист скажет вам, что преждевременная оптимизация хуже, чем отсутствие оптимизации.В лучшем случае это пустая трата ресурсов, а в худшем - источник бесконечных будущих (и текущих) проблем.

Без контекста любое приложение, даже с журналами тестов, ничего вам не скажет.У меня может быть цикл, который может занять 10 часов, тест покажет, что он занимает почти вечность, но мне все равно, потому что он не критичен к производительности.Другой цикл занимает всего миллисекунду, но это может быть слишком долго, потому что я не могу перехватить входящие пакеты данных, поступающие с интервалом в 100 микросекунд.и вы никогда бы не узнали, если бы не знали, что приложение, как оно используется, что оно делает, при каких условиях и требованиях.нет проблем, каков контекст?Каковы ожидания пользователя?

...