Речь вообще идет о генерации кода. Компилятор С++ пишет сам Интел (да и АМД вроде тоже). Правда ссылки на более-менее реальные тесты так никто и не дал, но разница процентов в 10-20 должна быть.
Ну так прозводители процов заморачиваются новейшими фичами этих процов - странно, если бы это было по другому. Писали бы они паскаль-компиляторы - тогда бы и сравнили...
Причем тут линкер ? Просто типы и код нужно писать так, чтобы смартлинку была возможность себя проявить.
В Дельфи размер того же кода в полтора раза меньше. Это лучшее, чего удается добиться от FPC. Какой нафиг он смарт если он такой тупой?
Вы сами эспериментировали со смартлинком, что такое говорите ?
FPC-программы также сильно увеличиваются от использования WideString и Variant(150k), и это увеличение не может быть существенно уменьшено смартлинком - потому что эти модули грузят in-memory диспетчеры функций, сответственно - на момент линковки все эти функции оказываются нужны "на всякий случай".
И вообще - для смартилинка нет ничего хуже, чем использование "<type> = procedure/function" или "function1 = function2", и как раз этот механизм интенсивно используется в Лазарусе для переключения между GUI-тулкитами ( хоть команда и принимает некоторые меры).
Result:=,
Вот это язык не особо красит. Я бы заменил на Return().
Не скажите... Все таки под Result сразу выделяется память, и по ходу функции делаешь с ним что хочешь, а когда готово - "exit" .
-Fcutf8
А это чего?
Компиляция исходников, созданных в локали UTF-8. Удобно - не то слово. Можно использовать русские текстовые константы прямо в исходниках. И будет это одинаково читаться ( и печататься на принтере, ... ) и в Линуксе(koi8), и в Вынь32(cp1251).