Изначально у вас код компилируется в ассемблер (команды понятные для процессора) почти напрямую.

1) Это Debug сборка - код компилируется без оптимизаций.

2) Есть Release сборка - тогда код будет работать быстрее т.к. компилятор пытается делать разные хитрые оптимизации. Недостаток в том что при запуске под отладкой не получится узнать даже в какой строке программа упала, т.к. из ассемблерных инструкций которые написал компилятор - не понять какая строка кода их породила (т.е. где произошла проблема).

3) Поэтому советую в дополнение к Debug использовать RelWithDebInfo (а не Release) - это Release with Debug Information - в т.ч. с информацией о том из какой строки исходника появилась каждая ассемблерная инструкция.

Чтобы добавить этот вид сборки:

How to add RelWithDebInfo CMake build type in CLion

И теперь легко менять какой вариант сборки хочется запускать (Debug для отладки, RelWithDebInfo если важна скорость):

Choose build type to run