доходит до кодогенерации, на каждый кристал файл генерится llvm модуль, который компилится без оптимизаций поэтому быстро (и вроде в тредах) и перед этим еще чек сумма сверяется чтобы не перекомпиливать не измененные файлы. потом все линкуется, и все это быстро потому что по сути компиляция в итоге идет пары .o файлов. А релиз собирает один большой llvm модуль. Что если тут просто к дебуг режиму добавить -O2. и все оставить также. По сути получится не совсем оптимальный бинарник изза отсутствия инлайнов межмодульных, но возможно в большинстве случаев будет быстро. Или у тебя так и сделано?
Примерно так и сделано. Просто вставить O2 в debug не выходит, т.к. debug, по сути, не конфигурится. Он использует какие-то параметры по умолчанию, и я не очень понимаю, что это за параметры. Но я мало копался, всего один вечер пару месяцев назад.
Обсуждают сегодня