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

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

Ответ на: комментарий от Sun-ch

>Портирован на соляре, чпуксе, AIX, RH AS/ES и серверных версиях виндовс.

>"Leading Web server in the Fortune 100 and Global 250".

LOL, саныч, не успел ты вчера этого запостить, как оказался на втором месте в списке цытируемости этой фразы http://www.google.ru/search?q=Leading+Web+server+in+the+Fortune+100+and+Globa...

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

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

Простите, а Ц принципиально невозможно компилить в байткод? Или Вы не знаете о существовании интерпритаторов Ц? Читая Ваши коментарии всегда считал Вас умным человеком, а такого коментария мог ожидать скорее от жабатроля р***.

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

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

ЛОЛшто? Жабские ИДЕ хороши для Жабы. Что-то я не вижу потоков точкаНЕТчиков бегущих с МСВС на Еклипс...

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

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

Я уже даже затрудняюсь тебе диагноз поставить... Гном начали писать после жавы. Почему же не с применением этой распрекрасной технологии? Особено учитывая любовь Мигеля к виртуальным машинам... Почему Эпифани не на жабе? Трансмишн? Даже РедХетовские тулзы для конфигурации, морды к пакетному менеджеру и инсталер написаны на Питоне. Хочешь сказать РедХетовцы не любят и дискриминируют бедную жабку?

ЗЫ Долго еще не забуду инсталер Солярки, который ругался, что 512 метров памяти ему мало для работы в графическом режиме. Это чудо на Жаве?

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

>Вы что, правда считаете, что 20 идиотов с Java напишут код быстрее и лучше, чем 5-6 приличных сишников? Флаг вам в руки.

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

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

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

Вроде как речь шла о десктопном софте. Что жава отличная вещь для серверных приложения(помимо убогого языка) я уже кажется признал давно и неоднократно.

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

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

OMFG разговор идет о _десктопе_.

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

>Простите, а Ц принципиально невозможно компилить в байткод?

Идите и ещё раз внимательно читайте что я писал. Каждый чих разъяснять не буду. Работайте мозгом.

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

>Идите и ещё раз внимательно читайте что я писал. Каждый чих разъяснять не буду. Работайте мозгом.

Тоесть Вы слили?

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

>Тоесть Вы слили?

Я предпочитаю общаться на уровне хотя бы чуть повыше детсадовских понятий.

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

> Тоесть Вы тоже считаете, что Ц можно только компилить в машкод.

Я считаю, что ты не сможешь ни объяснить, какая польза от компиляции Си в байт-код (кстати, какой именно?), ни назвать хоть один широко распространенный интерпретатор Си.

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

Может Жава хороша на энтерпрайзе не потому что она такая хорошая
а потому что по сути в этом секторе нету альтернатив ?

Вот взять к примеру Рельсы ( простите меня за такой пример ;) ) Отгадайте с 3х раз почему многие крутые-жаба-девелоперы восхваляють
его. Всем понятно не за скрафолд ( которые же сами разработчики Рельсов
ругають ) а за всю эту технологию вокруг рельсов.
rmake, миграция дб, capistrano, система тестирования ну и т.д.

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

>. Гном начали писать после жавы. Почему же не с применением этой распрекрасной технологии? Особено учитывая любовь Мигеля к виртуальным машинам...

Потому что когда начали Гном писать на машинах стояло обычно (сюрприз!) 32Мб памяти. И жаба 1.0 еле ползала тогда. Поэтому ее и начали активно тянуть на сервера где было от 512+ Мб памяти, где JVM могла развернуться. С тех пор и повелось "жаба не для десктопа"

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

>Я считаю, что ты не сможешь ни объяснить, какая польза от компиляции Си в байт-код (кстати, какой именно?), ни назвать хоть один широко распространенный интерпретатор Си.

Причем здесь распространенность? Это както отменяет факт их наличия? Может хватит передергивать? р*** тут размахивал JNode и Singularity и как заводной повторял "Ну ведь они есть и это ОС!".

Я работал с шелом VxWorks, там реализовано что-то очень похожее на интерпритируемый Ц.

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

>Вот взять к примеру Рельсы ( простите меня за такой пример ;) ) Отгадайте с 3х раз почему многие крутые-жаба-девелоперы восхваляють его

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

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

>> Я считаю, что ты не сможешь ни объяснить, какая польза от компиляции Си в байт-код (кстати, какой именно?), ни назвать хоть один широко распространенный интерпретатор Си.

> Причем здесь распространенность? Это както отменяет факт их наличия?

То есть - не можешь.

> Может хватит передергивать?

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

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

>Потому что когда начали Гном писать на машинах стояло обычно (сюрприз!) 32Мб памяти. И жаба 1.0 еле ползала тогда. Поэтому ее и начали активно тянуть на сервера где было от 512+ Мб памяти, где JVM могла развернуться. С тех пор и повелось "жаба не для десктопа"

Простите, но главный жабатроль тут уже неоднократно рассказывал, как он класно с жабой на десктопе в 90 работал. Кому верить? И вообще я думал, что в те далекие времена слабых компов жаба своей замечательной JIT-оптимизацией должна была быть единственым спасением и лучом света в темном царстве?

>Хватит лохматить бабушку. Сейчас инстант мессенждер жрет больше памяти чем было на моем компе в 99 году на котором работала жаба и запускалось E14.

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

> Вот тебе еще примеры из гугла: http://www.softintegration.com/

"Ch is an embeddable C/C++ interpreter for cross-platform scripting"

> и http://www.macroexpressions.com/c-slang.html.

"C-SLang is a very simple language for software components requiring the highest code density possible but which have rather relaxed execution time requirements"

Фразу "rather relaxed execution time requirements" перевести?

> Слив засчитан.

Дешевка.

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

Я тебе привел примеры. У тебя есть какието возражения против принципиальной возможности создания интерпретаторов Ц или компиляции оного в байткод? Может хватит тролить?

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

> У тебя есть какието возражения против принципиальной возможности создания интерпретаторов Ц или компиляции оного в байткод?

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

Более того, даже кроссплатформенный байткодный бинарь не нужен, если для него нет стандратизованного окружения. Для Си такого окружения нет (не нужно упоминать POSIX, ладно?).

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

> В жопу рельсы все уже засунули.

В смысле не осилили что ли ?

Или как понять :
RoR 2.1 - Released May 31, 2008
Выход всяких НетБеансов 6.x с подержкой Ruby
http://www.odesk.com/jobs/?search_button.x=1&reset=1&filter[OpeningDa...

Или к примеру взять ту же ленту ЛОР-ИБМ вон внизу :
http://www.ibm.com/developerworks/xml/library/x-xformsruby1/index.html

XForms and Ruby on Rails at the doctor's office, Part 1: Setting up IBM DB2 9 pureXML developerWorks

18 Dec 2007
Updated 04 Jun 2008

Ну и т.д.

Так что не понятно ...

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

> что переписать ?

С глазками проблемы или не знаешь как аплеты в браузере включаются? Хрен ли тогда специалиста строишь из себя?

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

Кстати, а разве LLVM этого не умеет? Нельзя скомпилить Ц-сорс в LLVM IR и пускать под разные платформы/архитектуры? Не ради тролинга, правда интересно.

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

> Кстати, а разве LLVM этого не умеет? Нельзя скомпилить Ц-сорс в LLVM IR и пускать под разные платформы/архитектуры?

Теоретически, в принципе - да. На практике - нет. И вдобавок, это чистый кодогенератор, не платформа.

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

> шахматы на яваскрипте?

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

> да как 2 байта

Вперед! Как напишешь - дай знать, я покажу кто их у тебя купит. Впрочем ты, как Ъ лоровец все равно должен будешь отдать свое творение бесплатно и с сорцами.

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

>Вперед! Как напишешь - дай знать, я покажу кто их у тебя купит. Впрочем ты, как Ъ лоровец все равно должен будешь отдать свое творение бесплатно и с сорцами.

Ты что?! Тру лоровцы - вендузятнеги и проприетарщики.

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

>Вот взять к примеру Рельсы

рельсы ненужны, use grails

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

>>> Она должна поддерживать программы на самом низкоуровневом из языков, которые позволяет поддерживать железо

>> Зачем?

>Потому что производительности всегда не хватает.

Потеря производительности не удерживает от использования SQL вместо непосредственной работы с файлами на Си.

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

Джеффри Рихтер - Системное программирование в среде Windows который написал, и которого были прекраснейшие примеры по win32 и сям вообще

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

Потеряпри работе с SQL ничтожна и само еего использоавние больше сохраняет производительность, чем теряет.

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

>Потеря при работе с SQL ничтожна и само его использоавние больше сохраняет производительность, чем теряет.

Не может такого быть - cost based optimizer не настолько умен как человек.

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

>>Не может такого быть - cost based optimizer не настолько умен как человек.

Не будем спорить, видмо вы таких людей не встречали

каптча: livning

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

> Потеря производительности не удерживает от использования SQL вместо непосредственной работы с файлами на Си.

Да ты что? А вот загрузчик ELF в ядре и ld.so не использует SQL, а работает с файлами на Си. Ужас какой. Нет, чтобы каждый сегмент через SQL запрашивать.

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

> Я считаю, что ты не сможешь ни объяснить, какая польза от компиляции Си в байт-код (кстати, какой именно?), ни назвать хоть один широко распространенный интерпретатор Си.

а это не то?
http://en.wikipedia.org/wiki/LLVM

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

>> Потеря производительности не удерживает от использования SQL вместо непосредственной работы с файлами на Си.

>Да ты что? А вот загрузчик ELF в ядре и ld.so не использует SQL, а работает с файлами на Си.

Это совсем не то - там по десять join'ов и where clause делать не надо. Только простое последовательное чтение файла.

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

>>> Потеря производительности не удерживает от использования SQL вместо непосредственной работы с файлами на Си.

>> Да ты что? А вот загрузчик ELF в ядре и ld.so не использует SQL, а работает с файлами на Си.

> Это совсем не то - там по десять join'ов и where clause делать не надо.

Ну то есть ты позволяешь иногда пользоваться Си для работы с файлами? Спасибо, ты очень добр.

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

>Ну то есть ты позволяешь иногда пользоваться Си для работы с файлами? Спасибо, ты очень добр.

1) ты говорил что надо писать на низкоуровневом статическом unsafe языке поскольку перформанса никогда не хватает.

2) я сказал что перформанс не сдерживает использование SQL, несмотря на то что ДБ-сервера это самое тормозящее звено во всех приложениях которые используют базы данных.

3) ты завел речь об ELF-загрузчике ядра.

Бред какой-то.

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

> 1) ты говорил что надо писать на низкоуровневом статическом unsafe языке поскольку перформанса никогда не хватает.

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

> 2) я сказал что перформанс не сдерживает использование SQL, несмотря на то что ДБ-сервера это самое тормозящее звено во всех приложениях которые используют базы данных.

Не имеет никакого отношения к делу.

> 3) ты завел речь об ELF-загрузчике ядра.

Ты сказал: "Потеря производительности не удерживает от использования SQL вместо непосредственной работы с файлами на Си", и я привел тебе пример, когда "непосредственная работа с файлами на Си" выгоднее работы с SQL.

> Бред какой-то.

Перестань бредить, делов-то.

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

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

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

Да, эклипс и idea -- это главные фетиши явистов.

Не приходило в голову, что эти IDE удобны для жавы, причём именно в силу особенностей жавы? Для shell/tcl/perl/pascal/чего_угодно_ещё эти "IDE" будут всего лишь оченб-оченб тормозным редактором с подсветкой синтаксиса.

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

> эти IDE удобны для жавы, причём именно в силу особенностей жавы? Для shell/tcl/perl/pascal/чего_угодно_ещё эти "IDE" будут всего лишь оченб-оченб тормозным редактором с подсветкой синтаксиса.

Ну вот не надо так. Как минимум для Си/Си++ и Питона тоже получилось довольно неплохо, причем PyDev написан фактически одним человеком.

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

> Как минимум для Си/Си++ и Питона тоже получилось довольно неплохо

Я так и не разжился трафиком, чтоб ганимеда и cdt4 скачать. Расскажи, там в cdt всё ещё присутствует настройка автодополнения в нижеприведённом стиле?

отключить
тормозить, просматривать не все совпадения
тормозить очень сильно, просматривать все совпадения. не включайте.

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

>Тоесть Вы тоже считаете, что Ц можно только компилить в машкод. Это заразно?

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

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

>байткодно-компилируемого Си не существует в пригодном для использования виде

Зато есть Си++ :)

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