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). Исходные коды прилагаются.

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

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

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

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

Вот у меня из всех ява прог крутиться токо Азареус ...

В приницпе от него тоже можно отказаться но он у меня давно. В то время
другие клиенты достаточно сильно глючили и я привык к нему. Но он все время все ближе сдвигаеться в сторону Vuze так что похоже нужно подыскивать замену .... пока еще есть возможность включить старый стиль
поэтому он и жив ;)

Кстати обратите внимание на тему :
C vs. JVM's benchmark - она кстати праильная ! Именно так !
А не : С vs Программы на java

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

Жаба создавалась не для десктопа, и это закономерно. Можешь на .NET посмотреть, принципиальных отличий от Java нет, зато у MS сейчас политика десктопа на .NET и приложений появилось столько, что даже в линукс пролезают.

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

>Мой десктоп слегка переплетается с работой, поэтому скажу те программы, которыми я чаще всего пользуюсь. Eclipse [Java], Firefox, maven [Java], Squirrel SQL Client [Java], Azureus [Java], Evince, gnome-terminal.

Дорогой друк, Вы видимо разработчик на Жаве, потому что юзаете спец софт для рабработчиков. Это все равно как утверждать, что на php пишут десктопные приложения на основе того, что я пользуюсь phpMyAdmin место вашего Squirrel SQL Client. Так что из этого всего принимается только Азуреус. Кстати ДЕ у Вас видимо не установлен и все это щастье запускается напрямую из Х? И IM`ами вы не пользуетесь? Текстовыми редакторами? Архиваторамы? Смелее!

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

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

DE у меня Gnome, я его десктопным приложением не считаю, так же как и Linux и ifconfig и множество других системных приложений.

IM - Pidgin, каюсь, забыл. Текстовый редактор, которым я пользуюсь 90% времени - Eclipse. Ещё использую vim и Emacs, но делаю это куда реже, поэтому могу пользоваться с тем же успехом хоть nano, хоть jEdit-ом. Архиватор: tar xjf и unzip. Десктопным софтом я его не считаю по аналогичным причинам.

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

>Вот у меня из всех ява прог крутиться токо Азареус ... >В приницпе от него тоже можно отказаться но он у меня давно. В то время другие клиенты достаточно сильно глючили и я привык к нему. Но он все время все ближе сдвигаеться в сторону Vuze так что похоже нужно подыскивать замену .... пока еще есть возможность включить старый стиль поэтому он и жив ;)

У меня примерно то же было. В венде к нему привык(там не было других вменяемых торрент-клиентов) и тут уже по привычке юзал. Потом понял, что 99% его функция мне не нужны и попробовал Трансмишн...

>Кстати обратите внимание на тему

А у меня нету проблем с технологией Жава. Очень неплохая ВМ и, видимо, прекрасный инструмент для создания сложных веб-приложений, предназначеных для работы под большой нагрузкой. Я бы вообще обеими руками за был, если бы не этот ужасный императвный ацтой который они в Сане называют языком программирования. Но доказывать, что "жава быстрее компьютера" и убеждать меня, что оказазывается весь софт на моем десктопе написан на жаве это уже терминальная стадия ЖГМ...

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

> убеждать меня, что оказазывается весь софт на моем десктопе написан на жаве

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

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

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

Я за жаву в мобилках и на серверах. Но пихать ее в том виде в котором она сейчас на мой десктоп не считаю целесообразным.

>Можешь на .NET посмотреть, принципиальных отличий от Java нет, зато у MS сейчас политика десктопа на .NET и приложений появилось столько, что даже в линукс пролезают.

Принципиальное отличие теперь есть - F#. Просто Сановцы ориентируются исключительно на демедж-контрол в больших "отрядах" индусокодеров...

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

>DE у меня Gnome, я его десктопным приложением не считаю, так же как и Linux и ifconfig и множество других системных приложений.

Ну вот я иногда калькулятор или наутилус запускаю. Вы нет?

>Ещё использую vim и Emacs, но делаю это куда реже, поэтому могу пользоваться с тем же успехом хоть nano, хоть jEdit-ом.

Сравнили Эмакс с пальцем...

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

> Но пихать ее в том виде в котором она сейчас на мой десктоп не считаю целесообразным.

А мне пофиг, на чём написана программа, главное, чтобы выполняла свою работу и не требовала много ресурсов. Когда второй фаерфокс отжирал 3 с половиной гигабайта за несколько дней, я жалел, что он не на джаве.

> Принципиальное отличие теперь есть - F#.

Для JVM огромная куча языков на самый разный вкус - Scala, Scheme, Groovy, ...

> Просто Сановцы ориентируются исключительно на демедж-контрол в больших "отрядах" индусокодеров...

Джава уже давно развивается Community а не Sun-ом.

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

Слегка уменьшает startup time. Не думаю, что больше чем на секунду.

Нет, я не спорю, .NET ориентирован на десктоп, про десктоп думали, когда его проектировали. Но принципиальных отличий я не вижу - тот же GC, тот же managed code, даже mainstream язык C# практически тот же.

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

>Ссылку в студию. До тех пор вы всех убеждали, что десктопных приложений на Java не существует как класса, а вам мягко намекали, что это не так.

Это был мягкий троллинг что-бы оживить дискусию :)

Здесь главный невменяемый жабофаг решил доказать что у нас десктопы непонятно на чем написаны, а Ц, оказывается всего лишь какая-то прослойка:

http://www.linux.org.ru/view-message.jsp?msgid=2903217&page=2#2903864

http://www.linux.org.ru/view-message.jsp?msgid=2903217&page=2#2903868

Еще раз: я _ЗА_ Жабу в вебе. Я за выбор инструмента под задачу. Но я против буйных дурачков с промытыми маркетологами Сан мозгами.

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

> Слегка уменьшает startup time.

И, насколько я понимаю, способствует совместному использованию кода между разными VM.

> Не думаю, что больше чем на секунду.

Это очень много.

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

>Для JVM огромная куча языков на самый разный вкус - Scala, Scheme, Groovy, ...

У них вроде как плачевная производительность. Если не так, ткните меня носом. Самому будет интересно.

>Джава уже давно развивается Community а не Sun-ом.

ОК: Просто камьюнити Жавы ориентируются исключительно на демедж-контрол в больших "отрядах" индусокодеров...

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

> Ну вот я иногда калькулятор

bc или python.

> или наутилус запускаю. Вы нет?

Гм, ооочень редко. В основном, когда хочу что-то скачать с вендовой шары. Я console user.

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

> Это был мягкий троллинг что-бы оживить дискусию :)

Цель достигнута :)

> Я за выбор инструмента под задачу

Я тоже.

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

> И, насколько я понимаю, способствует совместному использованию кода между разными VM.

Гм, вроде это исключительно AOT. Впрочем не знаю, я в .NET-е некомпетентен чуть менее чем полностью.

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

> У них вроде как плачевная производительность

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=scala&a...

По скорости сливает сям в среднем в 5 раз. Это весьма достойная производительность.

> ОК: Просто камьюнити Жавы ориентируются исключительно на демедж-контрол в больших "отрядах" индусокодеров...

Это не так.

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

>Мой десктоп слегка переплетается с работой, поэтому скажу те программы, которыми я чаще всего пользуюсь. Eclipse [Java], Firefox, maven [Java], Squirrel SQL Client [Java], Azureus [Java], Evince, gnome-terminal.

Evince ненужен, ибо есть:
* javadjvu
http://sourceforge.net/projects/javadjvu/
и
* pdf-renderer
https://pdf-renderer.dev.java.net/

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

Точно так а не наоборот ?

Кстати вот на н800 пашет Evince а тама точно также будут
пахать - javadjvu и pdf-renderer ?

Кстати сейчас вот начинаеться эра недобуков - ну тама еееPC и подобных.
Как Вы думайте какие проги тама будут востребованы ?
на Java или на Си ?

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

> Как Вы думайте какие проги тама будут востребованы ?

Очевидно удовлетворяющие потребности пользователей. Кстати, когда она началась, эта эра недобуков? Я что то не заметил.

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

Те по вашему если прога нужна не важно меделно она пашет или быстро ?

Ну так токо токо началась. С выходом еееPC который сейчас в Эльдарадо продаеться за 9200руб. А тут и АТОМ подоспел думаю дальше будет токо удешевления устройства ...

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

> Те по вашему если прога нужна не важно меделно она пашет или быстро ?

Для меня критерии оценки ПО выстраиваются так: необходимая функциональность, открытость, дополнительная функциональность, скорость работы, потребление памяти.

> Ну так токо токо началась.

Я, например, представить себе не могу, зачем он мне может понадобиться.

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

Странно как это у тебя. Для меня первым параметром скорость работы !
Не в смысле быстрее на столько то а относительная скорость.

Вот скажи мне нафиг нужен фунциональный пдфридер если он странцу открывает 10 минут. Или компьютер ? Если система функциоанльная будет
грузиться 1 час это что же ?

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

> Вот скажи мне нафиг нужен фунциональный пдфридер если он странцу открывает 10 минут.

Таким я пользоваться не смогу. Хотя evince на скане книжки одной отожрал 2 гига как то раз. Хоть и на C написан.

> Вот скажи мне нафиг нужен фунциональный пдфридер если он странцу открывает 10 минут.

Это ынтырпрайз, гыгы :) У нас AppServer примерно полчаса перезапускается. Чего он там делает, я не знаю.

В общем есть некие разумные рамки производительности. А если неразумное мозго*ство из за миллисекунд и килобайтов. К последнему я равнодушен.

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

> Те по вашему если прога нужна не важно меделно она пашет или быстро ?

А вы что предпочитаете - прогу быстро работающую, но ненужную? Польза и удобство для десктопного узера всегда будут стоять на первом месте, все остальное - скорость работы, отжираемые ресурсы и т. п. - это уже потом. Будет возможно - сделают, нет - значит не судьба.

> дальше будет токо удешевления устройства ...

Не только, еще и наращивание мощности - прогресс, знаете ли...

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

> Вот скажи мне нафиг нужен фунциональный пдфридер если он странцу открывает 10 минут.

Название этого ридера - в студию!

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

> Не только, еще и наращивание мощности - прогресс, знаете ли...

Да уже не растили по самое не хочу ... вон даже какая тема появилась.
Причем сравнивают не по умегьшению требованию к железу а по количеству
циклов :(

Вот взяли бы и запустили этот тест к примеру на н800 мы тогда и поглядели что быстрее Си или ЖВМ ;)

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

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

"Серебрянная пуля" невозможна в принуипе. Потому как быдло не умеет пользоваться серебрянными пулями. Было будет пользоваться на смеси г%$на и пластилина и орать, что это "РУЛЕЗ".

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

>такими темпами скоро будут доказывать всему миру, что Ось под виртуалкой работает быстрее Оси, на которой установлена виртуалка...

Как ни странно, но WinXP под KVM инсталлируется в полтора раза быстрее, чем на той же машинке без эмулятора:)

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

>> что пойдет в качестве параметров в С/С++ (hint: насколько это зависит от компилятора и платформы?) :))) >на любом вменяемом компиляторе, такой невменяемый код должен дать >1, 2, 3

>П.С. я уже жду фразы в ответ "А нет!..." :)

А нет!:) Не должен, потому как стандартом этого недо-ассемблера это не определено:)

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

>низкий уровень - Си, Асм.

Марш в школу, недоучка! C - высокоуровневый язык.

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

>зачем нам Жабка, она же нигде не эффективна ...

А с этим почти согласен. Java привела к тому, что в цивилизованных странах - дефицит асинизаторов, дворников и грузчиков.

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

>> Достаточно сложная для C. Тем более это компилится часа два на AthlonXP 2500+, наверное?

>у меня - 4 минуты

Слакварщик с "Ъ-кастомным" ядром детектед

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

>Странно - не сливает, клиенты довольны.

Не показатель. Клиенты проституток тоже в большинстве случаев - довольны.

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

>мне под 10 платформ как на сервере так и в бровзере.

перечисли "10 платформ"

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

>Тем не менее игрушка вполне себе работает - просто у нее нет ниши в продакшене. Это не отменяет того что оно - операционная система.

В таком случае, любой браузер с JavaScript - операционная система.

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

>(когда-то я написал mod_c++, который позволял исполнять C++ скрипты на apache, a la tomcat | php)

Это потому, что ыт ступил, вместо того, чтобы использовать готовый pike

Led ★★★☆☆
()

Вот эта народ плющило. Напомнило школу, когда начитавшись Абеля, одноклассник доставал учительницу информатики вопросом "Сколько бит в байте?". Получая ожидаемый всеми ответ "8", с умным видом заявлял "А вот и неправда, 9!". Еще бы Сетунь вспомнили , вот раздолье для дискуссий было бы!... :)

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

>По скорости сливает сям в среднем в 5 раз. Это весьма достойная производительность.

Ну по тем же тестам сливает Жаве раза в полтора. И это вы еще выбрали лучший случай, динамически типизированый Груви вообще тормозит страшно. К тому же меня не покидает ощущение, что эти языки для Жава-комьюнити как бедные родственики, как Немерле для .НЕТа.

>Это не так.

Ну вот Вы вроде адекватный человек и наверное согласитесь, что Жава честно говоря далеко не лучший в мире язык?

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

>Scala vs F# Mono. Практически одинаковая производительность.

Кстати интересно было бы протестить на венде .НЕТовский F# против Скалы.

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

>Для меня критерии оценки ПО выстраиваются так: необходимая функциональность, открытость, дополнительная функциональность, скорость работы, потребление памяти.

Вот для Вас главное открытость, а у меня в дистре до сих пор нету нормальной открытой Жавы... Кстати на работе недавно пришлось ставить Сановскую, потому что аплет конфигурирования фаервола не хотел стартовать в IcedTea.

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

>Дело в том, что через 10 лет процессоры будут складываться с 128 ядер и более. Писать для них современным образом не представляется возможным.

Угу, и будут все те же кеды, гномы, опеноффисы, фаерфоксы с операми и прочее, только внешний вид поменяется и пяток новых кнопочек добавят.. И будут бедные юзеры всё также выбирать между навороченными монстрообразными кедами и быстрыми, но малофункциональными флюксами. А самые повёрнутые гики будут сидеть на своих древнющих трёхгигагерцовых процах с жалким гигабайтом памяти и спокойно работать в kde4 с файловыми менеджерами, редакторами, плеерами, браузерами с 60 вкладками и прочим софтом десятилетней давности.. И бегает оно будет с такой же скоростью, с какой бегает последный jFluxBox на бюджетном 128-ядерном проце..

Анонимус из 5 июля 2018 года.

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

> Ну по тем же тестам сливает Жаве раза в полтора.

Ну да. Зато она намного лучше, как язык.

> динамически типизированый Груви вообще тормозит страшно

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

> Ну вот Вы вроде адекватный человек и наверное согласитесь, что Жава честно говоря далеко не лучший в мире язык?

Как язык жава - говно. Она ограничена и многословна. Но для неё есть куча тулзов, начиная IDE, кончая статическими анализаторами кода, для неё есть платформа Java, для неё есть коммунити, для неё есть куча бизнесов. И это всё её спасает.

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

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

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

Джава не нужна, она сейчас используется по привычки только на энтерпрайз проектах на серверах. На декстопах практически единственные удавшиеся джава программы - это среды для разработке на Джаве (Eclipse, jidea, etc).

Как язык джава примитвнее даже C#, где и производительность будет повыше на тех же дженериках, поддержка языков .Net, и стандартная библиотека для GUI такая, что ее можно использовать на десктопе.

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

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

Даже .Net поинтереснее java будет, на десктопах у .net будет побольше шансов. На сервоках .Net/LAMP. Джава - не нужна.

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

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

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