2010-01-14 3 views
0

Использует ли профилировщик CPU NetBeans время настенного времени или время процессора? Это важно знать, например, когда вы думаете о том, как ввод-вывод будет отражен в ваших результатах профилирования.Использует ли процессор NetBeans Profiler время настенного времени или время процессора?

+0

Также интересно, стоит ли это настенные часы или время процессора w.r.t. несколько потоков. Если 4 одновременно работающих потока, каждый из которых выполняет одну и ту же функцию, занимает 4 секунды, сообщается ли он как 4 секунды или 16 секунд? – ragerdl

ответ

3

По умолчанию NetBeans использует время на стене («абсолютное») время для всех вычислений времени метода. Доступ к времени процессора доступен, но в настоящее время только на Solaris. Если требуется время ЦП, его можно активировать из области «Дополнительные настройки» в окне «Прикрепить профилировщик». (Опция называется «Использовать таймер процессора потока (только для Solaris)».)

Независимо от того, какая настройка таймера выбрана, эта настройка применяется глобально ко всем классам/методам. (Для контраста, YourKit позволяет вам использовать определенные методы, используя время процессора, но другие методы, использующие время настенных часов.)

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

Что касается ввода/вывода: при настройке по умолчанию (настенные часы) методы таймингов теоретически включают время, затрачиваемое на блокировку операций ввода-вывода.

Подробнее о параметрах таймера можно узнать по телефону http://wiki.NetBeans.org/FaqProfilerUsingTimers. Я сочла полезным проконсультироваться с этой страницей вместе с http://wiki.netbeans.org/FaqProfilerSampledInstrumentation, в которой описывается, как приборы работают как в режиме «Точное вызывание, так и в режиме синхронизации» и «Точное управление вызовом, выбор времени».