Допустим ли сравнительный анализ секундомера? - PullRequest
71 голосов
/ 04 января 2009

Кто-нибудь когда-нибудь использовал бенчмаркинг секундомеров, или всегда следует использовать инструмент для повышения производительности? Есть ли хорошие бесплатные инструменты для Java? Какие инструменты вы используете?

Чтобы прояснить мои опасения, при тестировании секундомера возможна ошибка из-за планирования операционной системы. При данном запуске вашей программы ОС может запланировать другой процесс (или несколько) в середине функции, которую вы синхронизируете. В Java дела обстоят даже немного хуже, если вы пытаетесь рассчитать время для многопоточного приложения, так как планировщик JVM добавляет еще немного случайности в смесь.

Как вы относитесь к планированию операционной системы при тестировании?

Ответы [ 13 ]

0 голосов
/ 04 января 2009

Я делаю это все время. Я бы предпочел использовать профилировщик, но поставщик языка, специфичного для домена, с которым я работаю, его не предоставляет.

0 голосов
/ 04 января 2009

Я не думаю, что тестирование секундомера слишком ужасно, но если вы можете перейти на компьютер с Solaris или OS X, вам стоит проверить DTrace. Я использовал его, чтобы получить отличную информацию о времени в моих приложениях.

0 голосов
/ 04 января 2009

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

...