время компиляции swiftc при использовании -O происходит медленнее, чем при отсутствии
Я изучил быстрый компилятор (swiftc). Я просто делаю один быстрый файл, написанный об алгоритмах сортировки. (radix, merge, quick, heap ..), а затем я скомпилировал с флагами оптимизации или без них (-O, -wmo) и проверил время с помощью флага (-driver-time-compilation)
⬇️ result1 - не использовать флаг оптимизации
⬇️ result2 - использование флага оптимизации.
но результат1 был взят 0,3544 настенного времени. Я думаю, что время на стену - это действительно время.
и result2 был взят 0,9037 времени стены.
Я думаю, что использование флага оптимизации должно быть быстрее, чем его неиспользование.
Вы можете помочь мне понять, почему это так?
Я хочу сократить время компиляции только с помощью swiftc.
1 ответ
Время, которое вы показываете, - это время компиляции , а не время выполнения. Оптимизация требует времени, и компилятору приходится усерднее работать, чтобы завершить ее, совершенно нормально, что компиляция занимает больше времени при оптимизации кода.
В общем, это предполагаемое поведение, одним небольшим недостатком является больший размер исполняемого файла, который может быть создан, но обычно это не проблема.