Алексей Шипилёв — Java Benchmarking: как два таймстампа прочитать!

preview_player
Показать описание
Ближайшая конференция — JPoint 2025, 3–4 апреля (Москва + трансляция).
— —
. . . . Алексей Шипилёв — Java Benchmarking: как два таймстампа прочитать!
Java-конференция Joker 2014
Санкт-Петербург, 20 - 21 октября 2014

В этом докладе мы поговорим о том, как исследуют производительность приложений при помощи бенчмарков, какие частые ошибки возникают, как с ними бороться, и как вообще получить хоть какие-то полезные данные о мире, где всё от всего зависит. Красной нитью в докладе проходит Java Microbenchmark Harness (JMH), стандартный инструмент для написания и исследования бенчмарков в OpenJDK.
Рекомендации по теме
Комментарии
Автор

Шеф, забацай RSS на shipilev.net, а то гугль находит только обещания. Хотелось бы под feedly.com подцепить

bademusl
Автор

Ахах) Первое что в голову пришло ответить - "это Java хреново а не Node.js хорошо" ))

ЛераОдеждова-ни
Автор

Насчет того, что он говорит на 45 минуте. Мол, проблема в бенчмаркинге, и мы щас умышленно _затормозим_ жаву подсунув ей рандом на вход, и покажем, что ее немножко обгоняет скала. Кто ему дал право тормозить жаву? Кто дал право подсовывать другие входящие параметры? Скале же на вход приходит тоже константа времени компиляции, а не рандом! Так что, пускай разгоняет скалу, а не тормозит жаву!!!

То, что жава увидела константу времени компиляции, а скала не увидела - это показательный момент, который мы не можем проигнорировать! Поэтому, ясное дело, что влияние этого фактора должно быть отражено в тестах.

Лично я его тест интерпретировал так: скала не всегда видит то, что можно заоптимайзить, поэтому в среднем работает медленней.

Alexander-mjjk