Для этого есть много хороших инструментов профилирования, таких как Quantify или KCachegrind. Единственная проблема, связанная с этими инструментами, заключается в том, что они замедляют производительность во время выполнения, поэтому в некоторых больших системах они могут масштабироваться недостаточно хорошо.
Иногда достаточно просто запустить отладчик и нажать ctrl-c, посмотреть трассировку стека и повторить это, возможно, 4 раза.
Если вы всегда находитесь в одной и той же части кода, то вы нашли, где, вероятно, проводите большую часть времени.