почему... там нет ни адресной арифметики,
В модуле-2 адресная арифметика, при желании, есть. Кроме того, оная адресная арифметика как раз припятствует некоторым оптимизациям, либо делает их сложнее.
ни кучи операторов присваивания
Эмм. Какая такая куча операторов присваивания? Аля *=, += и так далее? Так это все давно не актуально, вот это как раз сейчас натуральный синтаксический сахарищще. На оптимизацию не влияет никак.
ни инкрементальных операторов
INC/DEC там вроде как раз таки есть. Вон, даже в обероне есть.
нет фокусов с интерпретацией логических значений
А это что за фокусы и как они могут повлиять на оптимизацию?
ни модификаторов register
Эта штука уже лет 20 как не используется. Это дело по моему или уже выпилили из стандарта, или выпиливают. На оптимизацию не влияет.
ни понятие макроподстановки либо инлайн функции..?
Макроподстановок действительно в Модуле нет, а вот инлайн-функции как раз есть ровно также как и в Си (если что, директивы inline в Сях того времени (1998 год?) просто нет).
- вороха того дерьма, которое по уверению создателей СИ способствует производительности генерируемого кода...
Если сравнивать конкретно Модулу-2 и Си (тех лет, стандарт С89/90), то я на стороне Модулы-2 безусловно. Потому, что семантически они практически одно и то же, модель исполнения едина, кроме того модула позволяет больше оптимизаций :-) При этом модула строже и вообще няшней в использовании.
Слабенький буст у сей - это макросы. Но в том виде в котором они есть в C89/90 - это таки пакость (а вот в C12 -- уже можно как-то жить).