Название: Сравнение языков программирования. Отправлено: vimmax от Февраль 23, 2007, 06:20:21 Сравнение скорости выполнения различных задач при использовании разных языков программирования.
http://shootout.alioth.debian.org/debian/benchmark.php?test=hello&lang=all (http://shootout.alioth.debian.org/debian/benchmark.php?test=hello&lang=all) В выпадающих меню выбираете тип задачи и нажимаете Show. Можно также просмотреть программный код. Ассемблера нет, т.к. в результате любая программа превращается в ассемблер. Что меня поразило - С++ не всегда первый по скорости!!!! Название: Re: Сравнение языков программирования. Отправлено: Sterh от Февраль 24, 2007, 12:33:42 Поразительно неужели Паскаль опережает С++?..
Но мне кажется, только вывод строки с Hello world - это ещё не показатель, особенно при решении более сложных задач. Название: Re: Сравнение языков программирования. Отправлено: Alder от Февраль 24, 2007, 01:25:27 Но мне кажется, только вывод строки с Hello world - это ещё не показатель, особенно при решении более сложных задач. Согласен на все 100%. Особенно впечатлило что Ada опередила С# :))Название: Re: Сравнение языков программирования. Отправлено: vimmax от Февраль 26, 2007, 11:01:19 Поразительно неужели Паскаль опережает С++?.. Насколько я знаю вызов функций в Паскаль опережает вызов функций С по скорости. В ранних версиях Visual C поддерживался даже специальный макрос __pascal, который позволял вызывать С функции по Паскалевскому методу.Меня больше поразило, что Java опережает С++ в некоторых задачах, что для интерпретатора очень даже неплохо. Название: Re: Сравнение языков программирования. Отправлено: Sochin от Февраль 26, 2007, 11:05:54 Какой-то стремный тест. Кто мне пояснит за счет чего интерпретируемая программа может работать быстрее скомпилированного приложения?
Название: Re: Сравнение языков программирования. Отправлено: EvilMax от Февраль 26, 2007, 09:45:56 Насколько я знаю вызов функций в Паскаль опережает вызов функций С по скорости. В ранних версиях Visual C поддерживался даже специальный макрос __pascal, который позволял вызывать С функции по Паскалевскому методу. 1. Насчет вызовов в Паскаль не уверен. Может, это в Delphi что-то набокопорили, но накладные расходы на вызовы функций там просто ужасны. Удавалось повысить быстродействие алгоритма, только отказавшись от вызова функции.Меня больше поразило, что Java опережает С++ в некоторых задачах, что для интерпретатора очень даже неплохо. 2. Ну не такой уж Java и интерпретатор ;) Думаю, этот термин жестковат по отношению к JVM (как и к виртуальной машине .NET). Все-таки, JVM выполняет байт-код, а не интерпретирует исходный текст. Название: Re: Сравнение языков программирования. Отправлено: Sochin от Февраль 26, 2007, 11:06:12 2. Ну не такой уж Java и интерпретатор ;) Думаю, этот термин жестковат по отношению к JVM (как и к виртуальной машине .NET). Все-таки, JVM выполняет байт-код, а не интерпретирует исходный текст. Кстати вопрос к спецу: все-таки байт-код интерпретируется на ходу или он уже скомпилирован и сразу выполняется? Название: Re: Сравнение языков программирования. Отправлено: LazarusLong от Февраль 27, 2007, 02:23:52 Вот еще один тестик интересный.
http://www.osnews.com/story.php?news_id=5602&page=3 А вообще к результатам подобных исследований нужно подходить с большой осторожностью. Потому как тесты можно подобрать самые различные. И результаты соответственно тоже очень отличающиеся получить. Название: Re: Сравнение языков программирования. Отправлено: fantomx от Март 05, 2007, 03:15:41 Еще немаловажна платформа. Из личного опыта:
1) C# .NET - работает быстрее под Виндой раза в 3 нежели в Linux с пакетом Mono 2) Java летает под Sun Solaris а под остальными ОС - полное извращенство Название: Re: Сравнение языков программирования. Отправлено: EvilMax от Январь 15, 2008, 01:01:39 Кстати вопрос к спецу: все-таки байт-код интерпретируется на ходу или он уже скомпилирован и сразу выполняется? Виртуальная машина Java HotSpot, которая уже давно является основной виртуальной java-машиной, поддерживает технологию JIT (Just-In-Time compilation). Работвет в двух режимах - клиентском и серверном.1. Клиентский - оптимизация направлена на ускорение запуска приложений. 2. Серверный - максимальная оптимизация всего кода. Часто в ущерб скорости запуска. Так что ответ: компилирует в нативный код и выполняет. Как и .NET framework, кстати. |