LINUX.ORG.RU

C vs. JVM's benchmark

 , ,


1

0

Стэфан Краузе в своём блоге
http://www.stefankrause.net/
опубликовал новые тесты производительности кода, написанного на C и на Java.

В тесте используются компилятор GCC 4.2.3 и различные версии JVM (Sun JDK 6, IBM JDK 6, Excelsior JET, Apache Harmony, BEA JRockit).

Тесты проводились на ноутбуке Dell Insprion 9400 с 2GB RAM и процессором Intel Core 2 2GHz под Ubuntu 8.04 (x86). Исходные коды прилагаются.

>>> Подробности

Ответ на: комментарий от Legioner

>большинство динамически типизированных языков страшно тормозят. Судьба у них такая :)

Тогда в чем приимущество использования JVM c Groovy, если всякие интерпритируемые Питоны-Схемы работают быстрее?

Sidrian
()
Ответ на: комментарий от Legioner

>Sun Java можно считать открытой. Закрыты всякие криптографические библиотеки, которые не существенны, и будут открыты в следующем релизе.

Вот когда я смогу не качать и не инсталить ручками с сайта Сана всякое проприетарное гавно, тогда Жава станет для меня открытой.

Sidrian
()
Ответ на: комментарий от anonymous

> Вот к примеру лор - тут не сервлеты а jsp и скорее всего все написано также как подобная страница выглядела бы на php но с жавовским синтаксисом ;)

только JSP транслируются в сервлеты, а затем сервлеты компилятся и выполняются. В общем случае получается быстрее чем PHP.

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

> Вы удивитесь: десктопный софт нужно искать на десктопе. На моем десктопе, десктопе друзей, даже на десктопах вендузятнегов на работе я жаба-софта не наблюдаю особо. А что Вы используете на десктопе написаное на Жаве?

Из не Java у меня на компе стоит FireFox, Office & Pidgin (ICQ, MSN, XMPP) ибо пока нет альтернативы на Java. как только появится адекватная альтернатива - перейду на нее ибо удобнее мне так :)

Из Java: NetBeans (кстати стал приличным в последних релизах), Eclipse, SQL Developer, SQuirreL (поддерживаю ибо GPL), JBoss cluster, GlassFish, Tomcat, Alfresco, Liferay portal, ant + maven. Может забыл чего ;)

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

>ти примеры ты сможешь найти в библиотеке - например, о буме вокруг массово-параллельных систем в 80-х (у меня это только в бумажных книгах, так что ссылку не дам); можно почитать так же о проекте ЭВМ 5-го поколения;

Ответвление ветки создал, http://www.linux.org.ru/view-message.jsp?msgid=2906964 Лучше там про MPP потрындеть, авось предсказатели будущего и грамотные подтянутся

anonymous
()
Ответ на: комментарий от Sidrian

> При этом казалось бы жаба-софт должен стоять у каждого, за счет того, что девелоперы могли бы быстрее реализовывать фичи и не замарачиваюсь пускать свое приложение на всех платформах. Но, как показал этот топик, даже сами жабакодеры не силно то жалуют жабасофт. Списывают это на глобальный заговор корпораций и крестовиков, который не хотят брать такой замечательный, мягкий и пушичтый софт в свои ДЕ/Дистрибутивы.

часто Java софт делается для заказчика, а он делает не для конечных пользователей, а для компаний. Потому и получается вроди пишут много а на десктопу его не видно. Как и винда с линуксом. Линукс вроде развивается лучше, но на десктопах его пока меньшинство.

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

>Из Java: NetBeans (кстати стал приличным в последних релизах), Eclipse, SQL Developer, SQuirreL (поддерживаю ибо GPL), JBoss cluster, GlassFish, Tomcat, Alfresco, Liferay portal, ant + maven. Может забыл чего ;)

Да-да. На десктопе нет альтернативы Лиспу потому что я все далю в Емаксе: и по файловой системе шарюсь, и почту читаю, и програмлю... Вы бы уже хоть рассказали как Вы не представляете существования без любимого фетиша жабакодеров - Азуреуса. Это у них пока самый сильный ход...

Sidrian
()
Ответ на: комментарий от VoDA

>часто Java софт делается для заказчика, а он делает не для конечных пользователей, а для компаний. Потому и получается вроди пишут много а на десктопу его не видно. Как и винда с линуксом. Линукс вроде развивается лучше, но на десктопах его пока меньшинство.

Неправельное сравнение. Жабасофта и в маргинальном Линуксе не видно особо.

Sidrian
()
Ответ на: комментарий от orcy

> Кстати забавно еще что апплеты которым пророчили большое будущее почти никак себя не показали - вместо явы используеют java script и ajax.

http://bereg.ru/games/club/hall.shtml - вперед, перепиши на жабоскрипте и ajax'е.

anonymous
()
Ответ на: комментарий от Valeriy_Onuchin

>удивительно, что сами веб-сервера написаны на C.

То, что твой кухонный нож затачивается с помощью бруска ещё не говорит о том, что этим бруском удобно резать хлеб.

>btw, не знаю ни одного (без якзотики, простейший я и сам на пишу in 5мин на любом языке) написанного на какоми-нибудь другом (java, php, даже C++).

Это весь неэкзотический для тебя список? :) Кроме того, смотреть надо не на языки, а на реализации. Ибо даже тот же Питон может быть написанным на Си, а может - на Питоне (PyPy). Это если «экзотику», типа SP-Forth не вспоминать.

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

>> Apache Tomcat. Написан на Java. :P

> незачот! во-первых - это apache модуль, написанный на C

Иногда лучше жевать, чем говорить :D Или для тебя DVD-плейеры Samsung - это телевизоры, потому что ты видел телевизор Samsung? :D

...

Придраться тебе к другому надо было, к тому, что ты искал примеры языков, написанных на самих себе, а тебе привели крупный проект, написанный на Java.

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

>Какие задачи, выполнение которых возможно осуществить на яве невозможно выполнить на Си?

Какие задачи, выполнение которых возможно осуществить на Си невозможно выполнить на ассемблере?

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

>Какие задачи, выполнение которых возможно осуществить на Си невозможно выполнить на ассемблере?

Любая задача, для которой требуется поддержка более чем одной архитектуры. теперь всё же ответишь на "Какие задачи, выполнение которых возможно осуществить на яве невозможно выполнить на Си?"

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

Хорошо, теперь отвечу: Любая задача, для которой требуется поддержка более чем одной архитектуры одним и тем же бинарником.

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

Но это ответ на фоне твоего ответа (изначально идущего в неверное русло). Ибо ответ тут достойный Капитана О. Вопрос трудозатрат на разработку.

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

>Любая задача, для которой требуется поддержка более чем одной архитектуры одним и тем же бинарником.

"одним и тем же бинарником" - высосанное из пальца условие.

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

>Вопрос трудозатрат на разработку.

Трудозатраты != денежные затраты. Просто быдлокодеры обходятся дешевле. А быдлокодеры знают только что? умеют кодить только на чем?:)

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

Есть JBuddyMessenger, Bombus и хрен-знает сколько поделок на J2SE и J2ME для пейджеров-чатов.

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

>Да, и ассемблер и СИ - универсальные инструменты, способные решать ЛЮБЫЕ задачи (пусть и путем больших временных затрат)

Это ты про коней в вакууме? Запорожец способен преодолеть любые расстояния.

>IDE вполне достаточно написано на C/C++

Они и в подметки жабским не годятся.

>Но используют лишь те, кому это позволяет свободное время, остальным необходимо решать вполне конкретные задачи, конкретными и предназначенными инструментами, а не восхищаться абстрактными преимуществами явы, и наслаждаться тормозами написанных на ней продуктов

Ты таки решил не задум\ываться над списком програм которые пользуешь каждый день.

>Я уверен, что для любой задачи/комплексного продукта возможно выбрать такой инструментальный набор, который обеспечит высокую скорость разработки и наибольшую скорось непосредственно работы продукта, и при этом ява там НЕ будет использоваться ни в одном компоненте.

Вперед. Давай IntelliJ IDEA пишет 7мь человек - MSVC - минимум десятки. Только результат этой мегокорпорации - говно.

>Почему приложения на яве - это не мейнстрим - объясняйте себе сами, если, назовем их "повышенные требования к аппаратным ресурсам компьютера" (вышеуказанные тормоза) явы относительно СИ для вас не аргумент.

Для корпорации Microsoft - это тоже не аргумент. И что? Это отменило выход Висты? Или мрачные тормоза сопера (жабские программы просто образец скорости исполнения по сравнению с сапером висты без драйвера видюхи.

>Ой, блин, а хостеры то не знают...

Они знают. Пользуйся гуглом.

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

>Не показатель

Это _единственный_ валидный показатель.

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

>Джава не нужна, она сейчас используется по привычки только на энтерпрайз проектах на серверах.

А у вас уже готов для энтерпрайза непривычный вариант?

>На декстопах практически единственные удавшиеся джава программы

А то что остальные ропграммы это оффис+бровзер с 15етней историе вас не смущает?

>и стандартная библиотека для GUI такая, что ее можно использовать на десктопе.

Она ничем не отличается от жабской как по принципу так и по скорости.

>На сервоках .Net/LAMP. Джава - не нужна.

Вы наверное кроме быдлофорумов не знакомы с серверными приложениями.

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

>Кстати забавно еще что апплеты которым пророчили большое будущее почти никак себя не показали - вместо явы используеют java script и ajax.

Аплеты прекрасно работают в той же энтерпрайз сфере. Никакой джаваскрипт вам не даст банально открыть файл.

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

>Любая задача, для которой требуется поддержка более чем одной архитектуры

НАпиши кросплатформенный ifconfig пожалста.

r ★★★★★
()

Интересно. Новый флейм на тему "Java быстрее машинного кода". Что, кругом одни индусы, что-ли?

Чем определяется скорость программы? Во-первых, алгоритмом, во-вторых, деталями реализации. Если используется один и тот же алгоритм на Java и C, и Java быстрее - вывод только один: реализацию делал идиот. При всех достоинствах Java, С всегда быстрее на одинаковых алгоритмах, если использовать особенности C. Автор теста, скорее всего, постарался сделать код на C максимально повторяющим код на Java. Ну, не индус ли, несмотря на фамилию?

Кстати, господам, воспевающим легкость Java для неквалифицированной рабочей силы. Вы что, правда считаете, что 20 идиотов с Java напишут код быстрее и лучше, чем 5-6 приличных сишников? Флаг вам в руки. Паровоз навстречу уже выехал.

HappySquirrel
()
Ответ на: комментарий от r

> Да и на счет простоты и изящества ты загнул. А ну сложи 2 стринга переданных в качестве параметров:)?

man asprintf. Да, результат желательно всё-таки проверить на NULL :-)

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

>>Любая задача, для которой требуется поддержка более чем одной архитектуры

>НАпиши кросплатформенный ifconfig пожалста.

Для тебя платформа и архитектура - одно и то же? Или как обычно - передёргиваешь?:)

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

>ну хз по крайне мере то что они дают скачивать для отладки и написания все это на питоне

Это ж девелоперское окружение. Главная фишка-то в доступе к тем же Big Tables, в возможности горизонтального масштабирования.

>Мне болше кажеться что это Си хотя хз ...

Наверняка.

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

>Кстати, господам, воспевающим легкость Java для неквалифицированной рабочей силы. Вы что, правда считаете, что 20 идиотов с Java напишут код быстрее и лучше, чем 5-6 приличных сишников? Флаг вам в руки. Паровоз навстречу уже выехал.

Они напишут дольше, хуже, да ещё каждый день часов в 4 раза больше выработают. Выгода для аутсорсинговой компании налицо! :)

А вообще зависит от задачи. Есть тупые задачи, требующие тупо брутфорса, там эти 20 и помогут.

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

>Для тебя платформа и архитектура - одно и то же? Или как обычно - передёргиваешь?:)

ТАк и запишем - с не кросплатформенный - правильно?

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

Ты так говоришь, как будто это что-то плохое.

anonymous
()
Ответ на: комментарий от r

>Это ты про коней в вакууме? Запорожец способен преодолеть любые расстояния.

Однако. Пожалуй, повторюсь. На си/ассемблере написано огромное количество операционных систем, прикладного программного обеспечения, системного программного обеспечения. И, кроме того, именно эти программы, используются повседневно, и их процент несравнимо выше, чем процент программ написанных на ява. Возьмите любой кслсс ПО - серверы, плееры, графические редакторы, текстовые процессоры, системы обработки данных, 3d - моделирование, CAD, управление оборудованием, дальше продолжайте сами - в конце-концов пройдитесь по собственному репозитарию, и сравните процент приложений на ЯВА и на СИ.

Кроме того, речь шла о десктопном софте, и о том, что не нужно пихать яву всю, что многие пытаются делать и даже, подменить явой СИ. Увы, нет ни одного 3D моделлера, музыкального или видео -плеера, браузера, файлового менеджера, графического редактора, текстового процессора хоть сколь-нибудь популярного и написанного на ява. Этот ряд, можно продолжать практически бесконечно.

Более того, насчет платформ. Аппаратно, после выпуска 99% платформ, различных типов процессора и прочего оборудования под этот процессор создается ассемблер, и компилятор СИ, с помощью которого создается системное ПО для этой платформы, программируются устройства, порты вода-вывода и т.д. И только лишь затем дляэтой платформы может быть использованна ява, или что-то еще.

и кстати, здесь из десктопного софта, кроме специализированного для разработке на ява, собственно почти и не было представлено. Из используемых ява-программистами.

>Они и в подметки жабским не годятся.

Вы голословны.

>Ты таки решил не задум\ываться над списком програм которые пользуешь каждый день.

На них нет ни одной на ява.

>Для корпорации Microsoft - это тоже не аргумент. И что? Это отменило выход Висты? Или мрачные тормоза сопера (жабские программы просто образец скорости исполнения по сравнению с сапером висты без драйвера видюхи.

Посылаю вас туда же, куда и корпорацию Майкрософт

>Они знают. Пользуйся гуглом.

http://news.netcraft.com/archives/2008/06/index.html

Market Share for Top Servers Across All Domains August 1995 - June 2008

Top Developers

Developer May 2008 Percent June 2008 Percent Change

Apache 83,746,837 49.73% 84,647,780 49.12% -0.61

Microsoft 58,991,106 35.03% 60,995,528 35.39% 0.36

Google 10,127,956 6.01% 10,468,720 6.07% 0.06

lighttpd 1,523,148 0.90% 1,532,952 0.89% -0.01

Sun 545,651 0.32% 550,723 0.32% -0.00

Что-то мне подсказывает, что продолжать с вами беседу бессмысленно. Успехов в энтерпрайзе и промывании мозгов клиентам.

Более того, доля sun:

Market Share for Top Servers Across All Domains August 1995 - June 2008

http://news.netcraft.com/archives/2008/06/overallc.gif

anonymous
()
Ответ на: комментарий от r

> А у вас уже готов для энтерпрайза непривычный вариант?

Джава неплохо подходит для этих задач, особенно когда надо деньги посчитывать. Кроме явы есть офтопик и петон.

> А то что остальные ропграммы это оффис+бровзер с 15етней историе вас не смущает?

Да не только, большинство прикладных десктоп приложений - плюсы. В офтопике есть тенденция небольшие гуевые прилады утилитки писать на шарпе. Я не понимаю смысл здесь спорить с очевидным.

> Она ничем не отличается от жабской как по принципу так и по скорости.

AWT?

> Вы наверное кроме быдлофорумов не знакомы с серверными приложениями.

Да.

orcy
()
Ответ на: комментарий от r

> Аплеты прекрасно работают в той же энтерпрайз сфере. Никакой джаваскрипт вам не даст банально открыть файл.

Верно. Однако тенденция такая, что аплеты используется там где где разработка чего на аджаксе принципиально невозможна, или в энтерпрайзе, где дешевле апплет написать чем аякс приложение.

orcy
()
Ответ на: комментарий от Sidrian

> Вы бы уже хоть рассказали как Вы не представляете существования без любимого фетиша жабакодеров - Азуреуса. Это у них пока самый сильный ход...

не пользую торренты потому Азурес мне не нужен. Хотя на будущее возьму на заметку :)

>>часто Java софт делается для заказчика, а он делает не для конечных пользователей, а для компаний. Потому и получается вроди пишут много а на десктопу его не видно. Как и винда с линуксом. Линукс вроде развивается лучше, но на десктопах его пока меньшинство.

>НеСправельное сравнение. Жабасофта и в маргинальном Линуксе не видно особо.

ХЗ. работаю в проектах под западных заказчиков. У них только Линукс на серваках (RedHat). Все проекты что участвовал - запуск под Линукс, некоторые штатный запуск ТОЛЬКО ПОД ЛИН.

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

> Любая задача, для которой требуется поддержка более чем одной архитектуры. теперь всё же ответишь на "Какие задачи, выполнение которых возможно осуществить на яве невозможно выполнить на Си?"

Это что пренципиально не возможно написать на асме под несколько платформ? ;)

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

> Джава не нужна, она сейчас используется по привычки только на энтерпрайз проектах на серверах.

13 Reasons Java Will Die... Of Old Age: http://littletutorials.com/2008/05/28/13-reasons-java-die-old-age/

Если текст не осилишь, посмотри хотя бы на статистику.

anonymous
()
Ответ на: комментарий от Sidrian

>Неправельное сравнение. Жабасофта и в маргинальном Линуксе не видно особо.

Ты чо! Сайт Опры сделан на жабе! И крутится, AFAIK, на линуксе.

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

>А что еще ЯВА умеет, кроме складывания строк?

>Каптча: drihter какбэ подсказывает, что жабофилам пора Рихтера бы почитать уже :D

Рихтера? Какова Рихтера? Который про "Inside .NET Framework 2003" пишет и сдирает все идеи у Фаулера? Иди ты в печь с этим плагиатором вместе

anonymous
()
Ответ на: комментарий от Led

>"одним и тем же бинарником" - высосанное из пальца условие.

Нет. Это моя практика разработки. Очень удобная.

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

>Трудозатраты != денежные затраты.

А откуда ты взял вдруг тут деньги?

>Просто быдлокодеры обходятся дешевле. А быдлокодеры знают только что? умеют кодить только на чем?:)

Я, например, много на чём кодить могу. И не только кодить, но и программировать. За последние 20 лет активно писал языках, наверное, на полудюжине. От Forth'а до PHP.

На Си++ программировал более семи лет.

Тем не менее, больше на нём не программирую.

Не вижу смысла.

Затраты на разработку не окупают эффект.

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

>Это что пренципиально не возможно написать на асме под несколько платформ? ;)

Можно. Я даже баловался этим когда-то. Но сложно. В итоге, по мере наращивания макросов, получился... Форт :D

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

>>Сайт Опры сделан на жабе!

>Откуда дровишки?

Зайди, да ссылки внутри посмотри. Там jsp/jspa/jhtml попадаются, это всё Жаба.

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