Использование средства анализа производительности Windows в качестве профилировщика - PullRequest
3 голосов
/ 01 февраля 2010

У меня есть приложение, написанное на c ++ с использованием Visual Studio 2005. Приложение имеет определенные проблемы с производительностью. Я хотел бы изучить, где. Мне нужно детализировать, в каких классах / методах / строках приложение проводит большую часть времени. Можно ли это сделать с помощью WPA? Если да, можете ли вы дать мне указатель на документацию?

Ответы [ 3 ]

4 голосов
/ 01 февраля 2010

Нет, WPT использует события Windows, это поможет вам диагностировать проблему только тогда, когда Windows является причиной замедления. Вы, конечно, не получите никакой диагностики для вашего кода. Что вам нужно, это настоящий профилировщик. Хорошие стоят денег. Проверьте эту тему для получения дополнительных советов.

3 голосов
/ 01 февраля 2010

Самый простой способ выяснить, что тратит время без необходимости - это стековых снимков , которые можно легко получить с помощью кнопки «пауза» в Visual Studio.

Вам не нужно измерять; все, что вам нужно сделать, это поймать это в действии. Если вы обнаружите, что это делает что-то на двух или более стековых снимках, и это то, что вы можете избежать, вы сэкономите значительное время. И вы можете повторить этот процесс, потому что небольшие проблемы на первых порах будут «пузыриться» по мере удаления других проблем.

0 голосов
/ 01 февраля 2010

Попробуйте YourKit .net профилировщик . Я попробовал это и несколько других недавно, но это было единственное, что мне удалось заставить работать с моим проектом C ++ / CLI (со смесью управляемого и неуправляемого кода).

[Изменить] Упс; Я прочитал WPA как WPF и предположил, что вы хотите профилировать некоторый код .net.

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