При выполнении профилирования вы всегда будете подвергаться снижению производительности, поскольку что-то должно измерять время запуска / остановки методов, отслеживать объекты кучи (для профилирования памяти), поэтому возникают накладные расходы на управление.
Однако, это даст вам четкие указатели, чтобы узнать, где находятся узкие места. Я склонен искать методы, в которых тратится наибольшее совокупное время, и проверять, возможна ли оптимизация. Также полезно определить, не вызваны ли методы излишне.
С очень маленькими методами, примите результаты профиля с щепоткой соли, иногда процесс измерения может занять больше времени, чем сам вызов метода, и исказить результаты (может показаться, что маленький, часто вызываемый метод оказывает большее влияние на производительность).
Надеюсь, это поможет.