Работая с heap_stat (скрипт Python на основе библиотеки PYKD для запуска скриптов Python в среде Windbg), я расстраиваюсь из-за огромного времени, которое требуется этому скрипту для выполнения своей работы.
Итак, я начал сеанс профилирования, используя " Very Sleepy ", и это дало следующий результат:
Name Exclusive Inclusive % Excl. %Incl. Module
RtlValidSecurityDescriptor 2561.56s 5123.12s 50.00% 100.00% ntdll
ZwWaitForSingleObject 1280.78s 1280.78s 25.00% 25.00% ntdll
NtUserWaitMessage 1279.73s 1279.73s 24.98% 24.98% win32u
Как видите, большую часть времени проводит в функции, проверяя некоторую достоверность (что, я думаю, не нужно). Есть ли способ отключить эту проверку (конфигурация Windows, настройки реестра, ...)?
Редактировать после первого комментария
Поскольку был запрошен анализ xperf
, я выполнил следующие команды xperf
:
Запустить профилирование:
xperf -start "DDS_LoggerName" -StackWalk ObjectCreate+ObjectDelete+ObjectReference -heap -Pids 28068
Остановить профилирование:
xperf -stop "DDS_LoggerName"
Я открыл результат (неполный, потому что сначала хотел посмотреть, как выглядит результат), используя Windows Performance Analyzer
, но для меня это не имеет смысла. Я считаю, что моя xperf
конфигурация плохая. Как мне запустить профилирование xperf
, чтобы можно было измерить, какая функция занимает какое время?