Ява построчный метод/функция профилирования - Профайлер и/или подключаемый модуль для Eclipse [закрыт]


У меня есть несколько больших методов, которые я пытаюсь оптимизировать в Java. Я использую jVisualVM для выполнения большей части моего профилирования, поскольку он дает горячие точки вызова метода и является отличной отправной точкой.

То, что я ищу,-это построчный профилировщик горячих точек, который может помочь мне сузить то, что занимает так много времени. Овбиозная работа, вокруг которой я использовал в прошлом, - это просто стратегически размещенная система.currentTimeMillis() печатает и в более экстремальных случаях использует Java CPUTime (делается через JNI). Есть несколько профилировщиков, таких как Intel Parallel Amplifier, которые работают с C & Visual Studio, но есть ли что-нибудь подобное для Java?

Оба эти варианта немного утомительны, так что есть ли что-нибудь (Eclipse plug-in или что-то другое), что может выполнять анализ горячих точек по строкам?

2 16

2 ответа:

JProfiler имеет разрешение номера строки. По умолчанию он не включен, но если вы измените параметры профилирования, то на вкладке "Запись вызова метода" появится флажок "записывать номера строк и отображать их в дереве вызовов":

Введите описание изображения здесь

Отказ от ответственности: моя компания разрабатывает JProfiler.

В dynaTrace можно сделать нечто подобное, инструментируя все вызываемые методы, однако это коммерческий инструмент. Кроме того, вы можете написать свой собственный инструмент инструментирования, используя, например, ASM (но это чрезвычайно утомительно : ()