Какая у вас среда отладки? У вас есть встроенный эмулятор (ICE)? Я рекомендую, чтобы у вас была среда отладки, чтобы вы могли вручную остановить выполнение в случайное время и проверить состояние программы, включая стек вызовов ( stackshots ). Ручная выборка стека вызовов таким способом покажет места в коде, которые ответственны за значительные доли времени, так что вы можете оптимизировать их. Вот более длинное объяснение.
Это может немного отличаться от того, что вы рассматривали. Многие люди думают, что для поиска вещей, которые нужно оптимизировать, нужно раз код, но это не так. Синхронизация - это хороший способ выяснить, имеет ли значение то, что вы сделали, но выборка из стека, как некоторые считают, лучший способ выяснить, что делать , чтобы изменить ситуацию.