Java обгоняет по производительности C++

Новости программирования... Компиляторы, ссылки на интересные статьи и книги по программированию... ВСЕ, что связано с программированием...

Сообщение Sh0Ck_filE » Вт июл 13, 2004 9:23 pm

Одним из главных недостатков языка Java традиционно считается невысокая скорость работы программ по сравнению с приложениями на языке С++. И для приложений, где переносимость между платформами или сложность разработки не является критически важной, именно скорость часто была причиной, по которой разработчики делали выбор в пользу С++.

Однако опубликованные программистом Кейтом Ли результаты новых тестов показывают, что бытующее мнение о медленной работе Java не вполне справедливо.
Изображение
Сравнению подвергались программы на С++, скомпилированные при помощи G++ (GCC) 3.3.1, и программы на Java, скомпилированные при помощи Sun Java 1.4.2_01. Для выполнения Java-программ использовалась виртуальная машина Sun версии 1.4.2_01. Измерения велисть на ноутбуке с процессором Pentium 4 и 512 Мб памяти, который работает под управлением ОС Red Hat Linux 9 / Fedora Test 1 с ядром версии 2.4.20-20.9 на .

В ходе тестирования выяснилось, что ключевым моментом, влияющим на производительность программ на Java являются настройки виртуальной машины. Как видно из диаграммы, при использовании "клиентского" варианта настроек (он установлен по умолчанию) практически все операции программы на Java выполняют медленнее, чем программы на C++, хотя и не так сильно, как можно было бы предположить. Зато при включении "серверных" настроек, в которых нет столь жестких ограничений по занимаемому объему памяти, преимущество в большинстве тестов оказалось на стороне Java. Причем ряд операций, например, вызов метода и хэширование, выполняется в программах на Java в несколько раз больше, чем в программах на C++. Впрочем, в основной массе тестов скорости Java и C++ оказались сопоставимыми, что, конечно, тоже может служить аргументом против мнения о медленной работе Java.
Результаты и данные

* Таблицы и графики: <a href='http://kano.net/javabench/data' target='_blank'>http://kano.net/javabench/data</a>
* Вывод тестов на консоль: <a href='http://kano.net/javabench/runlog' target='_blank'>http://kano.net/javabench/runlog</a>
* Исходники тестов на C++: <a href='http://kano.net/javabench/src/cpp/' target='_blank'>http://kano.net/javabench/src/cpp/</a>
* Исходники тестов на Java: <a href='http://kano.net/javabench/src/java/' target='_blank'>http://kano.net/javabench/src/java/</a>
* Бинарники тестов на C++ (i386): <a href='http://kano.net/javabench/bin/cpp/i386/' target='_blank'>http://kano.net/javabench/bin/cpp/i386/</a>
* Бинарники тестов на C++ (i686): <a href='http://kano.net/javabench/bin/cpp/i686/' target='_blank'>http://kano.net/javabench/bin/cpp/i686/</a>
* Java class файлы: <a href='http://kano.net/javabench/bin/java/' target='_blank'>http://kano.net/javabench/bin/java/</a>

Автор перевода: Иван Карташев, Компьюлента

От себя добавлю, что хотя и в тесте использовался не самый идеальный компилятор, на платформе *nix он совсем незначительно отстаёт от Intel-компилера. Так что всё по-чесноку Изображение
Последний раз редактировалось Sh0Ck_filE Вт июл 13, 2004 9:25 pm, всего редактировалось 1 раз.
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение Scalder » Ср июл 14, 2004 8:01 am

ИМХО - гон.
И на cpp можно хорошо извратиться... и на Java хорошо написать - все это знают....
А вот в то, что одно и то-же действие Java делает быстрее - не верю....
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение Shelix » Ср июл 14, 2004 8:05 am

Мне почему-то кажется, что это Sun начали использовать методы Microsoft...
<span style='color:blue'>Если тебе не нравится, как я излагаю, купи себе у бога копирайт на русский язык. (Борис Гребенщиков)</span>
<span style='color:yellow'>Все это лишь шизофреническая фантазия моего воспаленного мозга...</span>
Shelix
Подполковник
 
Сообщений: 574
Зарегистрирован: Сб апр 05, 2003 9:06 am
Откуда: Казань
Пункты репутации: 0

Сообщение Andrew » Ср июл 14, 2004 8:28 am

А давайте автор этой темы сделает опрос.

1. Верю.
2. Не верю.
3. А в что случилось и что это такое?
Что нас не убъет, то сделает нас сильнее.
Первая проба пера <a href="http://t5-keeper.livejournal.com/" target="_blank">http://t5-keeper.livejournal.com/</a>
Andrew
Подполковник
 
Сообщений: 587
Зарегистрирован: Чт мар 28, 2002 6:29 pm
Откуда: Минск
Пункты репутации: 0

Сообщение Sh0Ck_filE » Ср июл 14, 2004 8:53 am

2Andrew
Сделал :)
Кстати, я - не верю. Так что на меня гнать не надо :) Я просто счёл, что это должная подобающего внимания инфорация, вот и зафл... то есть запостил :)
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение sm@rt » Ср июл 14, 2004 11:20 am

Проголосовал не верю. Знаете почему? А тоже могу зная нужный АПИ написать прогу именно заточеную под определённый язык и по ней проводить обзоры.
Так что ни единому слову. Даже сомтреть на такие статьи противно. Если б они признавали что перфоманс меньше, но зато 1)... 2).... . А так выёживаться. Моя неприязнь к Яве стала ещё больше.
Красота и массовые расстрелы спасут мир.
sm@rt
Генерал-майор
 
Сообщений: 2935
Зарегистрирован: Вт фев 25, 2003 4:42 pm
Пункты репутации: 0

Сообщение Scalder » Ср июл 14, 2004 11:36 am

2Shelix
Так и есть :)
Они выплатили Sun несколько лямов за их патенты :)
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение Andrew » Ср июл 14, 2004 12:31 pm

Явишники сашевелилися када пачуяли пальчик M$ с <span style='color:red'>{sensored by Sh0Ck_filE}</span> С# в шопе. Тока ничего дастойнава не придумали как сплагиатить стратегию M$ в таких делах.
Последний раз редактировалось Andrew Ср июл 14, 2004 3:42 pm, всего редактировалось 1 раз.
Что нас не убъет, то сделает нас сильнее.
Первая проба пера <a href="http://t5-keeper.livejournal.com/" target="_blank">http://t5-keeper.livejournal.com/</a>
Andrew
Подполковник
 
Сообщений: 587
Зарегистрирован: Чт мар 28, 2002 6:29 pm
Откуда: Минск
Пункты репутации: 0

Сообщение YuG » Ср июл 14, 2004 1:31 pm

Проголосовал за "верю" :)
Хотя это лишь мое чисто интуитивное (или желаемое) решение...
YuG
Подполковник
 
Сообщений: 588
Зарегистрирован: Пн ноя 24, 2003 11:00 am
Откуда: Теперь уже Москва
Пункты репутации: 0

Сообщение Sh0Ck_filE » Ср июл 14, 2004 4:05 pm

2YuG
Вы, явишники, в меньшинстве ;), но от этого хуже не делаетесь ;)
2Andrew
Предупреждение: можно было выразиться цензурнее. Например "презерватив", или "кондом" :)
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0


Вернуться в Новости программирования

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

cron