Можно профилировать с помощью ваших тестов. Вы просто запускаете профилировщик на всех запусках тестов и указываете свои профилируемые сборки в качестве целей профилировщика. Однако, не зная точно, какую инфраструктуру вы используете как для тестирования, так и для профилирования, практически невозможно указать вам решение.
Поскольку я использую NUnit, я буду использовать его в качестве примера. Вы можете создать тестовую категорию и назвать ее профильными тестами. Затем вы можете запустить nunit.exe из профилировщика с параметром командной строки / include, чтобы указать эти тесты:
nunit-console myassembly.dll /include:Profile
Вы можете использовать Analyize-> Performance Wizard для этого. Путь dll будет вашей сборкой, а путь к исполняемому файлу будет командной строкой nunit-console, как упоминалось выше.
Я также знаю, что ReSharper добавляет расширения для Visual Studio, чтобы сделать это для вас . С его помощью вы можете просто щелкнуть правой кнопкой мыши на тесте и выбрать «Профиль TESTNAME». Хотя это стоит денег, я думаю, что есть ознакомительная версия, которую вы могли бы проверить.
Кроме того, просто отметьте, что вы должны профилировать с библиотеками Release. Release и Debug часто имеют МНОГО разных профилей производительности.