Есть ли плюсы у Pascal по сравнению с СИ
Модератор: Модераторы
Я имею в виду реализацию Pascal применительно к Freepascal
по сравнению с чем?
Я думаю актуально сравнивать с gcc, по качеству генерируемого кода, т.е. брать простой алгоритм, рисовать его на gcc и fpc, затем ассемблировать и смотреть, что получается. Давно хочу это поделать, но руки не доходят. К тому же все нет так просто - результат будет сильно зависить от установленных параметров (оптимизация и тп).
-
Mirage
- энтузиаст
- Сообщения: 880
- Зарегистрирован: 06.05.2005 20:29:07
- Откуда: Russia
- Контактная информация:
STAKANOV: Результаты тебя врядли обрадуют, но это особого смысла не имеет.
Как-то проводились тесты разных компиляторов. На синтетических тестах интеловский с++ всех уделал. Цикл он вообще до константы уел.
А в реальной задаче (вроде расчет сплайна на 1000000 точек) он был чуть хуже Дельфи. Хотя непонятно как так, Дельфи плавающую точку вообще не оптимизирует.
Вообще - все эти съедания циклов, вытаскивания инвариантов и т.п. нафиг не нужны - у вас много инвариантов в циклах? Тем, у кого они есть оптимизирующий компилятор не поможет...
А преимущества Паскаля проявляются в том, что куда меньше времени на отладку уходит. Ну это когда программа посложнее Hello World.
Менее очевидно, но более важно постоение больших, сложных систем. Паскаль для этого куда лучше подходит. И быстрее и архитектура лучше будет. Смотри VCL vs MFC.
Как-то проводились тесты разных компиляторов. На синтетических тестах интеловский с++ всех уделал. Цикл он вообще до константы уел.
А в реальной задаче (вроде расчет сплайна на 1000000 точек) он был чуть хуже Дельфи. Хотя непонятно как так, Дельфи плавающую точку вообще не оптимизирует.
Вообще - все эти съедания циклов, вытаскивания инвариантов и т.п. нафиг не нужны - у вас много инвариантов в циклах? Тем, у кого они есть оптимизирующий компилятор не поможет...
А преимущества Паскаля проявляются в том, что куда меньше времени на отладку уходит. Ну это когда программа посложнее Hello World.
Менее очевидно, но более важно постоение больших, сложных систем. Паскаль для этого куда лучше подходит. И быстрее и архитектура лучше будет. Смотри VCL vs MFC.
Как-то проводились тесты разных компиляторов. На синтетических тестах интеловский с++ всех уделал. Цикл он вообще до константы уел.
я читал статью Криса Касперски в журнале "Системный администратор" там результаты другие.
Результаты тебя врядли обрадуют, но это особого смысла не имеет.
краем глаза видел несколько ассемблерных листингов сгенерированных FPC - результаты порадовали
Кстати говоря, сам язык тут вообще ни при чем
Генерация кода - это лишь определенная версия определенного компилятора при использовании определенного оптимизатора с определенными опциями.
У FP и Delphi разное качество генерации кода, разные оптимизаторы. У разных компиляторов С++ тоже разное качество генерации кода.
Нужно сравнивать сами языки, а не тот код, который выдает компилятор. Компилятор/оптимизатор ведь можно и переделать, а вот язык останется.
У FP и Delphi разное качество генерации кода, разные оптимизаторы. У разных компиляторов С++ тоже разное качество генерации кода.
Нужно сравнивать сами языки, а не тот код, который выдает компилятор. Компилятор/оптимизатор ведь можно и переделать, а вот язык останется.
Это из серии какой язык лучше английский или русский.
Лучше тот который для тебя родной, на котором ты говориш с детства.
Я линуксоид, но паскаль знаю всетаки лучше чем С и темболее С++.
Ну и что? Живу приреваючи, и пишу что хочу и на чем хочу.
А подобные споры можно всети только конкретно применительно к задаче.
Лучше тот который для тебя родной, на котором ты говориш с детства.
Я линуксоид, но паскаль знаю всетаки лучше чем С и темболее С++.
Ну и что? Живу приреваючи, и пишу что хочу и на чем хочу.
А подобные споры можно всети только конкретно применительно к задаче.
-
greenzed
я думаю если сравнивать языки то нужно в первую очередь смотреть насколько удобнее оформлять алгоритм на каждом из этих языков, без сомнений что паскаль в этом отношение более удобный, но в тоже время оптимизация также очень сильно зависет от языка програмирование, с и с++ более низки уровнем , так что более удобны для оптимизации(в ущерб производительности програмиста). Так что, ясно почему с++ более популярен при написание коробочного софта у крупных фирм)))) А так конечно если писать для себя, то паскаль лучше, 2-3 сек никто считать не будет.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
-
Mirage
- энтузиаст
- Сообщения: 880
- Зарегистрирован: 06.05.2005 20:29:07
- Откуда: Russia
- Контактная информация:
STAKANOV писал(а):краем глаза видел несколько ассемблерных листингов сгенерированных FPC - результаты порадовали
А шо там такого было? Как процессор с 20 стадиями на конвейере интерпретирует тот или иной код, не знают по-моему даже его разработчики.
Тестить скорость можно только на реальных задачах. Причем для разных процессоров (они сейчас сильно разные) результаты могут отличаться.
Хорошо то, что сейчас мощность процессоров избыточна для большинства задач. :rolleyes: Поэтому тестить скорость давно уже не приходилось. :rolleyes:
Так что, ясно почему с++ более популярен при написание коробочного софта у крупных фирм)))) А так конечно если писать для себя, то паскаль лучше, 2-3 сек никто считать не будет.
В относительном сравнении больше софта (в том числе и коммерческого) написано всетаки на Delphi. Другое дело, что наиболее популярный софт написан на С++.
К тому же есть предубеждение, что серьезный вещи надо писать на Си.
А шо там такого было?
Активное использование регистров при компиляции какого-то выраженния, а не памяти.
Хорошо то, что сейчас мощность процессоров избыточна для большинства задач.
и теперь каждый может стать программистом
