Измеряя время выполнения Java, использование памяти и загрузку ЦП для сегмента кода

25
задан Peter Mortensen 7 March 2016 в 20:24
поделиться

3 ответа

Профилирование может быть более легкой опцией, так как Вы не требуете статистики в производстве. Профилирование также не требует модификации кода. VisualVM (который поставляет w/JDK 1.6.06 +) является простым инструментом. Если бы Вы хотите что-то более всестороннее, я пошел бы с Eclipse TPTP, профилировщик Netbeans или JProfiler (плата).

, Если Вы хотите записать, Вы владеете, рассматриваете следующее:

Простой measurments как время выполнения может быть сделан путем "синхронизации" раздела, которым Вы интересуетесь:

long start = System.nanoTime(); // requires java 1.5
// Segment to monitor
double elapsedTimeInSec = (System.nanoTime() - start) * 1.0e-9;

можно использовать подобную технику для памяти монитора через Runtime.getRuntime ().*memory () методы. Следует иметь в виду, что отслеживание использования памяти в собравшей "мусор" среде более хитро, чем простое вычитание.

загрузку ЦП трудно измерить в Java, я обычно придерживаюсь времени выполнения и оптимизирую дольше / повторяющиеся разделы

19
ответ дан luvieere 28 November 2019 в 21:47
поделиться

С ThreadMXBean можно получить использование ЦП отдельных потоков и использованное процессорное время, а не протечь время, которое может быть полезным.

Однако его часто более простой использовать профилировщика, поскольку этот процесс часто генерирует много данных, и Вам нужен хороший инструмент визуализации для наблюдения то, что продолжается.

я использую Yourkit, поскольку я нахожу легче решить проблемы, которые других профилировщиков я использовал. Я также использую встроенный hprof, поскольку это может дать Вам другое представление относительно профиля Вашего приложения (но не как полезное)

5
ответ дан Peter Lawrey 28 November 2019 в 21:47
поделиться

Используя Профилировщика Java наилучший вариант, и он даст Вам все понимание, в котором Вы нуждаетесь в код. то есть Время отклика, Поток CallTraces, Использования памяти, и т.д.

я предложу Вас JENSOR, Профилировщик Java с открытым исходным кодом, для его простоты в употреблении и низких издержек на ЦП. Вы можете загрузить его, оснастить код и получите всю информацию, в которой Вы нуждаетесь о своем коде.

можно загрузить его с: http://jensor.sourceforge.net /

1
ответ дан M.N 28 November 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: