Java Profiling: поиск узких мест в производительности Java-программ
HTML-код
- Опубликовано: 12 сен 2024
- Все мы хотим, чтобы программы работали быстро, но чтобы ускорить программу, надо ее оптимизировать, а чтобы оптимизировать, надо понять, в каком месте это нужно сделать? Мы займемся поиском этих узких мест, измеряя скорость работы и собирая статистику. Рассмотрим профайлинг в VisualVM, фреймворк JMH и создание аспектов в Spring для измерения производительности.
Смотрите видео выступления нашего эксперта в области разработки ПО Владимира Сонькина на конференции DEV Labs 2018 (03.03.2018) www.luxoft-trai...
Спасибо, было очень познавательно!
спасибо, очень полезное видео))
41.35 (time code) - на текущий момент Visual VM 2.1.2. При работе Sampler, видно четко время выполнения smallMethod(), не смотря на то, что он быстрее всех выполняется. ThreadDump также показывает вызов этого метода. В stackTrace это видно.
В видео говорится, что время, затрачиваемое на bigMethod в профайлинге, учитывается отдельно от времени, затрачиваемого на вызов smalMethod из bigMethod. Не уловил мысль: в режиме сэмплирования такое же правило ?
@@user-dt2me5sy9s думаю не так. Здесь делался акцент на то, что когда происходит сэмплирование, то оно не детализирует вызов методов, которые занимают очень малое количество времени. А когда запускается профилирование, то оно оборачивает сквозной логикой каждый профилируемый метод: то есть каждый метод, который профилируется в начале своей работы и в конце, с него снимаются временные метки, на основе которых и вычисляется время работы метода. Сэмплер, "снимает" данные с потока(он как бы "цепляется на поток, а для этого он его ищет через ThreadGroup"), в котором выполняются методы и от JVM, получает информацию об используемых ресурсах и вычисляет время работы.
очень затянуто =(
Смотрите на ускоренном х1.25-1.5
Полезное видео, спасибо
А уроки по рефакторингу будут?
Эти его "ЭЭЭЭЭЭЭЭЭ"!!!!
ни 1 видео по MAT в сети в русскоязычном ютабе нету....
На последних JDK-8 кнопка CPU Sampling не работает. Пишет, что не может инструментить и рекомендует настроить jmx. Прикрутить jmx у меня лично не получилось
404 по ссылке(