В соседнем подразделе поднят интересный вопрос:
kekc_leader писал(а):
Товарищи, работает ли LLVM достаточно быстро?
( . . .) не будет ли он в несколько раз, медленнее, чем 'Y' ?
Как известно, в cm3 Modula-3 есть LLVM backend. Соответственно, мы можем оценить скорость его работы по сравнению с другими.
"Цели компиляции" ( targets) в cm3 обозначаются парой CPU_OS.
Самый быстрый target i386_NT. Он же единственный ( при default settings) не вызывает ( кроме как для низкоуровневых модулей на C language) компилятор Си , m3cc или LLVM13.
AMD64_NT и, например, MIPS64EL_OPENBSD поддерживают только компиляцию через генерацию кода на Си.
ARM64_DARWIN - этот вариант и LLVM13 / LLVM18.
AMD64_LINUX - все варианты, кроме сверх-скоростной компиляции а-ля i386_NT.
По скорости компиляции: при сборке мира компиляция i386_NT бинарных файлов быстрее в 2-5 раз, чем компиляция AMD64_LINUX или AMD64_NT. Напротив, заметной разницы между, например, m3cc и LLVM13 не наблюдается.
На практике выбор между конкретными бекэндами определяет не скорость компиляции, а другие факторы.
В частности, компиляция с m3cc позволяет использовать отладчик m3gdb, а LLVM -- и другие отладчики.