Java line-by-line Метод/Функция Профилирование - Profiler &/или Eclipse Plugin
У меня есть несколько более крупных методов, которые я пытаюсь оптимизировать на Java. Я использую jVisualVM, чтобы выполнить большую часть моего профилирования, поскольку он дает горячие точки вызова метода и является отличной отправной точкой.
То, что я ищу, - это поточный профилировщик с горячей точкой, который может помочь мне сузить то, что занимает так много времени. Обильная работа, в которой я использовалась в прошлом, просто стратегически размещена в System.currentTimeMillis(), а в более экстремальных случаях используется Java CPUTime (сделано через JNI). Есть несколько профилографов, таких как Intel Parallel Amplifier, который работает с C и Visual Studio, но есть ли что-то подобное для Java?
Обе эти опции немного утомительны, так что есть что-нибудь (подключаемый модуль Eclipse или иначе), который может выполнять линейный анализ "горячей точки"?
Ответы
Ответ 1
JProfiler имеет разрешение номера строки. Он не включен по умолчанию, но если вы отредактируете параметры профилирования, установите флажок "Записать номера строк и покажите их в дереве вызовов" на вкладке "Запись вызова метода":
![enter image description here]()
Отказ от ответственности: Моя компания разрабатывает JProfiler.
Ответ 2
В dynaTrace вы можете сделать что-то подобное, используя все задействованные методы, однако это коммерческий инструмент. Кроме того, вы можете написать свой собственный инструментальный инструмент, используя, например, ASM (но это очень утомительно:()