2015-02-19 4 views
0

Я обнаружил, что некоторый код, который очень медленный (превращает приложение 10 секунд в приложение 60 секунд). Я нашел медленный код, используя «случайную приостановку приложения и посмотреть, где это». Медленный код находится в вызове функции лицензирования третьей стороны, который проверяет сервер лицензий на действительную лицензию.Некоторые вызовы функций не отображаются в VTune

Когда я пытаюсь выполнить профилирование с использованием усилителя VTune от Intel, этот медленный вызов функции не отображается, так как занимает очень много времени. Я не уверен, почему, но я бы догадался, что вызов функции должен спать, ожидая ответа сервера лицензий или что-то в этом роде, что заставляет VTune не идентифицировать его как горлышко бутылки. Есть ли способ заставить VTune идентифицировать такие вызовы?

ответ

1

Я был в состоянии получить его, чтобы показать с помощью Замки и Уэйтса режим вместо режима профилирования Основные Hotspots профилирование. Используя Locks and Waits, я вижу, что функция select является одним из моих главных блокирующих вызовов, и я могу отследить этот вызов обратно в свой код приложения, чтобы узнать, как он вызван.