LINUX.ORG.RU
ФорумTalks

Поиск ЯП и его свободного компилятора


0

1

Разыскивается язык программирования и его свободный (желательно GPL) компилятор, который генерирует наиболее оптимизированный код. То есть, чтобы получившийся бинарник содержал как можно меньшее количество операндов, выполнялся быстрее и меньше кушал памяти. Требуется переносимый ЯП, так что ассемблер не предлагать. Также нужно, чтобы бинарник запускался на любом линуксе «as is», не требовал установки всяких дотнетов и Java-машин.

Пример ответа: C99 и GCC 4.3.5. Желательно с тестами, пруфлинками.



Последнее исправление: ns_ramesses (всего исправлений: 2)
Ответ на: комментарий от Manhunt

Использование интерпретатора не подходит под задачу сабжа. Код должен быть нативным.

ns_ramesses
() автор топика
Ответ на: комментарий от DNA_Seq

А вот допустим на распараллеливающихся задачах тот же С++ рвет чистый С

Си в реализации GCC или си вообще? Мне интересно, это недостаток языка или компилятора.

ns_ramesses
() автор топика

ВСЕМ: по идее, программы на любом компилируемом ЯП могут быть максимально производительными (как их аналоги на машинных кодах) - всё зависит от компилятора. То есть, если для конкретной задачи программа на C++ медленнее работает, чем сишная, это недостаток только компилятора. Я прав?

ns_ramesses
() автор топика
Ответ на: комментарий от ns_ramesses

> машинные коды

А переносимость как же?

в сабже написано - между линуксами, машинные коды - процессоро-зависимые, так что таскай спокойно, только вместе с процессором :)

shty ★★★★★
()
Ответ на: комментарий от shty

Под переносимостью я другое подразумевал. Допустим, есть программный код. Я компилирую его под x86 - через пару секунд получаю прогу, которая запустится на линуксе под x86. Могу скомпилировать под SPARC - и она заработает на линуксе под спарками.

ns_ramesses
() автор топика
Ответ на: комментарий от ns_ramesses

Чем OpenWatcom Си лучше GCC?

Не такое монструозное. Есть полная поддержка C99, в отличии от GCC :) Было в сети ещё какое-то тестирование вроде, но я не помню ссылок. В общем тут только самому ставить и сравнивать.

Andru ★★★★
()
Ответ на: комментарий от Andru

А что говорят авторитеты? Торвальдс, Столлман, мейнтейнеры дистрибутивов - они какой компилятор используют?

ns_ramesses
() автор топика
Ответ на: комментарий от ns_ramesses

ага, интерпретатор форта тебе на сях влезет килобайта в 4-8 кода. на аврках есть amforth, можешь от него отталкиваться.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от ns_ramesses

Торвальдс, Столлман, мейнтейнеры дистрибутивов - они какой компилятор используют?

Читая этот вопрос, я теперь не понимаю нафига ты вообще создал этот топик... :)

Andru ★★★★
()
Ответ на: комментарий от ns_ramesses

Не обязательно. Допустим языки с динамической типизацией на порядок медленнее языков с типизацией статической. Большая гибкость всегда приводит к меньшей производительности

DNA_Seq ★★☆☆☆
()

Не ты один, все ищут.

C99 и GCC 4.3.5

А все равно не факт, что бинарник «на любом линуксе запустится».

proud_anon ★★★★★
()
Ответ на: комментарий от DNA_Seq

Но если добавить в компилятор несколько дополнительных оптимизирующих «слоев», можно уравнять языки со статической и динамической типизацией? Ведь, по идее, каждая задача имеет только одно максимально производительное решение (допустим, 60 ассемблерных команд для задачи X) и много производительных в той или иной степени (от 61 до бесконечности). Современные компиляторы не оптимизируют код до упора, упрощенно говоря.

ns_ramesses
() автор топика
Ответ на: комментарий от DNA_Seq

Либо скорость либо переносимость

Есть компромисс - максимальная скорость среди переносимых решений. Задача сабжа требует оптимизации по нескольким параметрам, ане по одному.

ns_ramesses
() автор топика
Ответ на: комментарий от ns_ramesses

Компромисс зависит от условий задачи. Сферического компромисса в вакууме не существует. Иногда можно пожертвовать производительностью (причем зачастую в 10-100 раз) во имя переносимости, иногда приходится выжимать каждый такт процессора. К тому же время программиста не бесплатное и особенно это актуально в опенсорсе - пару часов на допиливание любимой проги готовы потратить многие а вот пару месяцев - единицы

DNA_Seq ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.