OberonCore
https://forum.oberoncore.ru/

Modula-3
https://forum.oberoncore.ru/viewtopic.php?f=120&t=1354
Страница 4 из 4

Автор:  Виктор Мясников [ Пятница, 29 Октябрь, 2021 13:49 ]
Заголовок сообщения:  Re: Modula-3

( Вопросов много, все интересные. Для точных ответов потребуется некоторое время. И уточнение ( в "Л.Разделе") формулировок некоторых вопросов от их авторов. )

Илья Ермаков писал(а):
( В) М-3 относительно Оберона - нет расширяемых записей. Расширяются только объекты, размещаемые в куче.

Да, это так ( насколько я понял, см.далее о источнике информации). Вопрос недавно поднимался в списке рассылки по Modula-3.

Автор:  Виктор Мясников [ Четверг, 15 Август, 2024 09:16 ]
Заголовок сообщения:  Re: Modula-3

В соседнем подразделе поднят интересный вопрос:
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 -- и другие отладчики.

Страница 4 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/