Java: Как узнать, какие части моего кода работают чаще всего? (Профилирование) - PullRequest
10 голосов
/ 18 сентября 2008

Я пишу простую игру в шашки на Java. Когда я нащупываю указатель мыши на плате, мой процессор разгоняется до 50% (100% на ядре).

Я бы хотел выяснить, какая часть моего кода (при условии, что это моя ошибка) выполняется во время этого.

Я пробовал отладку, но пошаговая отладка в этом случае работает не очень хорошо.

Есть ли какой-нибудь инструмент, который может сказать мне, где моя проблема? В настоящее время я использую Eclipse.

Ответы [ 12 ]

0 голосов
/ 18 сентября 2008

В однопоточном коде я нахожу добавление некоторых операторов, таких как: System.out.println ("A:" + System.currentTimeMillis ()); проще и эффективнее, чем использование профилировщика. Вы можете вскоре сузить часть кода, вызывающую проблему.

0 голосов
/ 18 сентября 2008

Или используйте тестовые случаи JUnit и инструмент покрытия кода для некоторых ваших общих компонентов. Если есть компоненты, которые вызывают другие компоненты, вы быстро увидите, что они выполняются много раз.

Я использую Clover с тестовыми примерами JUnit, но для открытого кода я слышу, что EMMA довольно хорош.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...