Когда @kriss говорит
Вы должны сосредоточиться на коде, который вы написали
потому что это то, что вы можете изменить
это именно то, что я собирался сказать.
Я бы добавил, что, по моему мнению, проще выполнить настройку производительности сначала для кода, скомпилированного без оптимизации, а затем позже включить оптимизатор по той же причине. Если что-то, что вы можете исправить, стоит лишнего времени, оно будет пропорционально увеличено вне зависимости от того, что делает компилятор, и его легче найти в коде, который не был зашифрован.
Я не ищу такой код, измеряя время. Если избыточное время составляет, скажем, 20%, то я делаю случайную паузу несколько раз. Как только я вижу что-то, что может быть улучшено на 2 или более образцах, я обнаружил это. Это странный метод, но он ничего не пропускает. Я измеряю общее время до и после, чтобы посмотреть, сколько я сэкономил. Это можно сделать несколько раз, пока вы не сможете найти что-то, что можно исправить. (Кстати, если вы используете Linux, Zoom - более автоматизированный способ сделать это.)
Затем вы можете включить оптимизатор и посмотреть, сколько он вам дает, но когда вы увидите, какие изменения вы внесли, вы увидите, что компилятор действительно не смог бы сделать это за вас.