1.1, MaMoHT (?), 05:47, 12/07/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
> Код компонентов Galaxy написан на языке Java.
Последнее предложение перечекнула всю статью. Хоть с конца текст новости читай. Обидно...
| |
|
2.2, DV (ok), 06:25, 12/07/2012 [^] [^^] [^^^] [ответить] | +/– | Автор, в чём проблема-то Потому что здесь так принято Всякий раз когда на o... большой текст свёрнут, показать | |
|
3.3, Аноним (-), 07:04, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Ой, «набигут» сейчас толпы хелловурлдщиков и скрипт-кидди, разбрасывая слюну, рассказывать какая Java плохая…
| |
|
4.17, Аноним (-), 11:44, 12/07/2012 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Ой, «набигут» сейчас толпы хелловурлдщиков и скрипт-кидди, разбрасывая слюну, рассказывать какая Java плохая…
Эти как раз жабу любят, потому что ничего кроме нее осилить не смогли.
| |
|
3.4, Аноним (-), 08:24, 12/07/2012 [^] [^^] [^^^] [ответить]
| +8 +/– |
> Медленно работает, ест память? Лекарство от криворукости — умные книжки, особливо Джошуа Блоха.
Где я возьму столько умных книжек, в том числе и Джошуа Блоха, чтобы послать их каждому криворукому жабакодеру, с поделиями которого приходится работать?
| |
|
4.5, rshadow (ok), 08:52, 12/07/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
Все правильно сказал. Легкий в освоении, красивый язык -> низкий порог вхождения -> толпы говнокодеров -> проектов много а толку мало. Профи обижаются...
И это не считая тормозов и кушанья памяти... с этим все профи уже смерились и забываются иногда до того что начинают с пеной у рта доказывать что это не так :-)
| |
|
5.50, Аноним (-), 15:30, 12/07/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Все правильно сказал. Легкий в освоении, красивый язык -> низкий порог вхождения
> -> толпы гoвнокодеров -> проектов много а толку мало. Профи обижаются...
По сути дела, java - это нишевый аналог PHP.
| |
|
6.54, edwin3d (?), 15:38, 12/07/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
>> Все правильно сказал. Легкий в освоении, красивый язык -> низкий порог вхождения
>> -> толпы гoвнокодеров -> проектов много а толку мало. Профи обижаются...
> По сути дела, java - это нишевый аналог PHP.
Гхм .... вообще-то сравнивать Java и PHP некорректно.
PHP - вообще говоря собранная на коленке скриптомолотилка, а Java - полноценный язык, который если и сравнивать, то уже явно не с PHP
К слову если брать Web приложения. то PHP даже со всеми акселераторами медленне (особенно это заметно на сложных приложениях) контейнера сервлетов аля TomCat.
| |
|
7.61, Аноним (-), 15:45, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Гхм .... вообще-то сравнивать Java и PHP некорректно.
> PHP - вообще говоря собранная на коленке скриптомолотилка, а Java - полноценный язык, который если и сравнивать, то уже явно не с PHP
С тем же успехом можно утверждать, что
> Java - вообще говоря собранная на коленке скриптомолотилка, а PHP - полноценный язык, который если и сравнивать, то уже явно не с Java
Суть утверждения от этого не изменится =)
> К слову если брать Web приложения. то PHP даже со всеми акселераторами медленне (особенно это заметно на сложных приложениях) контейнера сервлетов аля TomCat.
Очень сложно работать медленнее томката. Пых с этим обычно не справляется. Даже на питоне это порой бывает трудно обеспечить.
| |
|
|
|
|
3.6, myc (?), 08:58, 12/07/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Код, написанный на C, можно заюзать в проектах на других языках программирования, код на Java - увы, только в Java проектах.
| |
|
4.79, umbr (ok), 21:35, 12/07/2012 [^] [^^] [^^^] [ответить]
| +5 +/– |
Зато в Java-проекте можно заюзать код написанный на любом языке :)
| |
|
3.7, kurokaze (ok), 09:38, 12/07/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
>а людей, знающих СИ от и до, в мире всего несколько человек
спасибо, посмеялся с утра.
тото подавляющее число пакетов в репе дистра на сях и плюсах написана. наверное их все 2-3 человека пишут, гггг, "суперкодер" и "человек-страуструп"
| |
|
4.14, anonymous (??), 11:32, 12/07/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
Он просто не отличает чистый си от плюсов. Или я слишком хорошего мнения о людях.
| |
|
3.9, Аноним (-), 10:03, 12/07/2012 [^] [^^] [^^^] [ответить]
| –5 +/– |
> s = "data # " + arg[0] + " " + arg[1];
Конкретно тут на современной яве быстроты не особо достигнешь.
| |
|
4.16, piteri (ok), 11:38, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот и живой пример.
Читать надо было сюды:
>...пишет в цикле:
>String s = new String();
.
| |
|
5.23, Аноним (-), 11:56, 12/07/2012 [^] [^^] [^^^] [ответить]
| –3 +/– |
Вот и живой пример, незнающий что оператор + медленнее метода append()
| |
|
6.30, piteri (ok), 13:15, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Если не разбираетесь в вопросе лучше помолчать - умнее казаться будете.
Пройдя по этой ссылке http://docs.oracle.com/javase/6/docs/api/java/lang/String.html любой легко убедиться что класс String не содержит метода append
Предположим что вы имели в виду StringBuilder, он действительно содержит метод append, но только в данном случае его лучше не использовать, производительность просядет в разы.
Основная ошибка в приведённом коде - бесполезная инициализация строковой переменной, т.е. написать следовало
либо так
String string;
for (...) {
...
string = "data # " + arg[0] + " " + arg[1];
...
}
либо так
for (...) {
...
String string = "data # " + arg[0] + " " + arg[1];
...
}
| |
|
7.36, Stocker (?), 14:16, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Если не разбираетесь в вопросе лучше помолчать - умнее казаться будете.
Вот это в первую очередь к Вам и относится :)
А StringBuilder вообще зачем по - вашему нужен?
А теперь внимание, ВНЕЗАПНО, внутри JVM конструкция вида str1 + str2 преобразуется в new StringBuilder(str1).append(str2).toString()
"+" это только лишь синтактический сахар.
Именно поэтому конкатенация двух строк плюсом это нормально, а в цикле будет создан миллион ненужных StringBuilder'ов.
| |
|
8.38, Аноним (-), 14:35, 12/07/2012 [^] [^^] [^^^] [ответить] | +2 +/– | Ну что с него взять, вероятно преподаватель Отожгли оба но аноним ошибся бол... текст свёрнут, показать | |
|
|
|
11.65, Аноним (-), 16:03, 12/07/2012 [^] [^^] [^^^] [ответить] | +/– | Если оптимизация действительно нужна и цикл предположительно выполняется не ма... большой текст свёрнут, показать | |
|
|
|
|
|
6.31, Аноним (-), 13:21, 12/07/2012 [^] [^^] [^^^] [ответить] | +/– | Ну не оправдывайтесь, тест провалили Касательно операторов, все зависит от комп... большой текст свёрнут, показать | |
|
7.33, Анонимъ (?), 13:35, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Отступ. На C++ можно тоже очень медленную программу написать если на каждый
> чих создавать/уничтожать объект оператором new/delete. В Java такой подход работает очень
> шустро в C++ очень медленно (в зависимости еще от компиляторов конечно).
Если у Вас система создает\уничтожает много объектов - напишите свою собственную реализацию new\delete использовав slab аллокацию объектов и Ваша медленная программа станет настолько быстрой, что никакая жаба не угонится.
| |
7.42, ДяДя (?), 15:16, 12/07/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
>Не холивара ради, C++ прекрасный язык, если что и у него как и Java есть свои особенности.
Главная особенность C++ :
«Я придумал термин „объектно-ориентированный“, но я вовсе не имел в виду C++.»
Alan Kay. Создатель Smalltalk
:-D
| |
|
|
|
|
3.11, edwin3d (?), 10:23, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> потом ругается, что ей Java не нравится из-за тормознутости.
К слову почему-то о том, что якобы java де "тормозит" в основном приходится слышать от тех, что серьзно с ней не работал и пользоватся не умеет ...
| |
|
4.15, anonymous (??), 11:34, 12/07/2012 [^] [^^] [^^^] [ответить]
| +7 +/– |
>> потом ругается, что ей Java не нравится из-за тормознутости.
> К слову почему-то о том, что якобы java де "тормозит" в основном
> приходится слышать от тех, что серьзно с ней не работал и
> пользоватся не умеет ...
Java is high performance. By high performance we mean adequate. By adequate we mean slow.
| |
4.18, Аноним (-), 11:46, 12/07/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> К слову почему-то о том, что якобы java де "тормозит" в основном
> приходится слышать от тех, что серьзно с ней не работал и
> пользоватся не умеет ...
Потому что опытные пользователи жабы уже давно привыкли и смирились.
Для них скорость - уже не главное.
| |
|
5.25, edwin3d (?), 12:18, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> К слову почему-то о том, что якобы java де "тормозит" в основном
>> приходится слышать от тех, что серьзно с ней не работал и
>> пользоватся не умеет ...
> Потому что опытные пользователи жабы уже давно привыкли и смирились.
> Для них скорость - уже не главное.
Пример:
Отрасль: Телекоммуникации и связь.
Объект: Программные коммутаторы (читай телефонные станции с соот. требованиями к как надежности так и производительности).
Так очень многие их них написаны на Java.
Вот к примеру - продукты компании VocalTec (далеко не лузер) написаны на Java.
| |
|
6.47, Аноним (-), 15:24, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Объект: Программные коммутаторы (читай телефонные станции с соот. требованиями к как надежности так и производительности).
> Так очень многие их них написаны на Java.
> Java
> производительности
Одна из черепашек явно звездит.
| |
6.82, Michael Shigorin (ok), 00:57, 13/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Отрасль: Телекоммуникации и связь.
> Объект: Программные коммутаторы
Писать на Java то, что лучше писать на Erlang -- это, безусловно, яркий пример.
| |
|
7.84, тень_pavel_simple (?), 07:43, 13/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Отрасль: Телекоммуникации и связь.
>> Объект: Программные коммутаторы
> Писать на Java то, что лучше писать на Erlang -- это, безусловно,
> яркий пример.
только один момент, для java чаще всего есть Весь необходимый инструментарий от IDE до множества биндингов а у Erlang'а окрjмя заявленых мегафич нет ничего.
| |
|
|
|
|
11.96, ДяДя (?), 02:26, 17/07/2012 [^] [^^] [^^^] [ответить] | +/– | При этом Erlang - это виртуальная машина На одном потоке примерно в два раза ме... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
19.104, ДяДя (?), 17:18, 19/07/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Каким бы хорошим не выглядел Erlang, но от сборщика мусора его не освобождали Н... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
7.85, ДяДя (?), 11:41, 13/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Erlang с успехом можно использовать во многих предметных областях.
Сама платформа уже сейчас позволяет очень многое, но девелоперская инфраструктура на текущий момент оставляет желать лучшего.
| |
|
|
|
4.72, Аноним (-), 16:40, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> К слову почему-то о том, что якобы java не "тормозит" в основном приходится слышать от тех, что серьзно с ней не работал и пользоватся не умеет ...
Исправлено.
| |
4.91, Fomalhaut (?), 21:51, 14/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Что вы подразумеваете под "работал". Лично мне программировать не приходится (админ), но достаточно много приходится пользоваться Жаба-программами (что особо отмечу - фирменными) и результат весьма не в пользу Java.
| |
|
3.21, Kroz (??), 11:50, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Вы достоинства Java обсуждаете с точки зрения разработчиков: дескать, легко учить, управление памятью и т. п. А вот пользователей забываете: нужно ставить jvm которая жрет ресурсы как не в себя; GUI зачастую отличается от системного, а значит программа выглядит "не родной" и т. п. Хороший программист напишет хорошую программу хоть на java, хоть на c++, плохой программист наделает кучу багов и там, где jvm ему будет всячески помогать, автоматизировать все что можно и думать за него. Так что дело в руках и в голове, а не в языке.
> а людей, знающих СИ от и до, в мире всего несколько человек
Посмеялся, спасибо. А вы с англичанами будете общаться только когда выучите английский язык от и до? Нормальные люди используют ровно то, что им нужно, а не все, что дает им (в данном случае) язык программирования. А вы продолжайте учить свою Java "от и до".
| |
3.39, edo (ok), 14:36, 12/07/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> а людей, знающих СИ от и до, в мире всего несколько человек.
а зачем знать "от и до"? если речь идёт о plain C, достаточно прочитать k&r ;)
| |
3.40, xxx (??), 14:42, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Чем Вам Java не угодила, замечательный и простой язык, который легко выучить
>меня знакомая — аспирант кафедры системного программирования — пишет в цикле:
>String s = new String();
>s = "data # " + arg[0] + " " + arg[1];
>потом ругается, что ей Java не нравится из-за тормознутости.
Поделил на ноль?
К слову о простоте. Ява - это сложный язык с огромной платформой обвешанной энтерпрайзными технологиями, поэтому осилить писать на ней эффективные программы дано не каждому, за-то тормозные поделки писать могут все. Лично я счастлив, что занимаюсь встраиваемым ПО и осиливать многокилометровые талмуды не приходится.
Насчёт тормозов, вот использую я hudson для сборки сишных проектов, и никак не могу понять почему он жрет более 500 мегабайт памяти и 100% грузит проц. А ведь главное нихрена полезного при этом не делает. И это пример хорошего функционального ПО.
| |
|
4.41, Аноним (-), 14:52, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>А ведь главное нихрена полезного при этом не делает.
Делает, почитайте документацию и будет Вам озарение.
| |
4.45, ДяДя (?), 15:22, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Насчёт тормозов, вот использую я hudson для сборки сишных проектов, и никак
> не могу понять почему он жрет более 500 мегабайт памяти и
> 100% грузит проц. А ведь главное нихрена полезного при этом не
> делает. И это пример хорошего функционального ПО.
На 100% с вами согласен, НО !!! Здесь вы обязаны привести пример одинаковых по функционалу приложений, но одно на Java, а другое нет. Вот тогда и можно проводить сравнение.
Так получается, что вы Hudson с утилитой make сравниваете и ругаетесь на тормознутость Hudson-а.
| |
|
5.69, Аноним (-), 16:32, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Hudson вероятно правильно сравнивать с аналогом CruiseControl-ом. Та что ж это делается CruiseControl тоже написан на Java. Люди проснитесь, вселенский заговор, не иначе.
| |
5.77, xxx (??), 18:40, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Здесь вы обязаны привести пример одинаковых по функционалу приложений, но одно на Java, а другое нет. Вот тогда и можно проводить сравнение.
Если бы мне понравились другие CI системы на других языках, я бы с hudson не связался.
>Так получается, что вы Hudson с утилитой make сравниваете и ругаетесь на тормознутость Hudson-а.
Как их можно вообще сравнивать, это разные вещи. Более того, в моём случае hudson вызывает gmake для сборки проекта, при этом во время сборки в top'е ни gmake, ни GCC даже не появляются, а java и hudson занимает первые строчки. А ведь всё что он делает в данном случае - это ждёт завершения утилиты gmake, мигает иконкой и пишет логи, ну и конечно же жрёт память и процессор.
| |
|
4.52, Crazy Alex (ok), 15:33, 12/07/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не так. Ява - простой (даже примитивный) язык. И за свою примитивность она расплачивается сложностью библиотек и простынями кода - потому что сложность задач никуда не делась и надо с ней какими-то средствами работать.
| |
|
5.56, Аноним (-), 15:38, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Не так. Ява - простой (даже примитивный) язык. И за свою примитивность она расплачивается сложностью библиотек и простынями кода - потому что сложность задач никуда не делась и надо с ней какими-то средствами работать.
История далеко не новая. Еще лет двадцать назад с ней столкнулись те, кто писал на языке Bourne shell. Чтобы посмотреть на последствия, далеко ходить не нужно - достаточно взять практически любой административный скрипт, решающий более-менее сложную задачу. Вместо одной-двух красивых и прозрачных строчек, мы увидим там простыню на 200Кб, которую можно даже не обфусцировать - она и так запутана по самые не балуйся.
| |
|
|
3.88, Fomalhaut (?), 21:39, 14/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Проблема в том, что этим недософтом приходится работать. И глюки и тормоза не зависят от "авторства": и цисковские управлялки "железками" тормозят не меньше, чем кривописанные студентами программы.
И насчёт переносимости тоже далеко не всё гладко: начиная с того, что разные реализации Жабы под разные ОСы работают "чуточку по разному". Отсюда и "эффекты".
Ну и пик идиотизма пеЙсателей: писать Жаба программу только (!) для венды на Жабе!
Кстати, особо "весело" работать с такого рода Жабоидами в виртуалках: при условии, что остальное всё работает нормально, но Жаба-проги имеют тенденцию "подвешивать" гостевую. Вот это гуано, например: BMC Remedy OnDemand
| |
|
2.10, edwin3d (?), 10:21, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Хоть с конца текст новости читай. Обидно...
А если по сути постараться разобраться ?
Та же Cassandra - прекрастная NoSQL БД, написанная на Java ... и вкустностей вагон, и стабильно, и все работает.
И таких примеров можно привести очень много ....
А потому нет необходимости исходить слюной при упоминании слова java (который к слову - великолепный язык),а разбиратся в сути.
А суть должна быть такой: Если это работает так, как завлено, то мне лично плевать на чем она написана.
| |
|
3.19, Аноним (-), 11:47, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Та же Cassandra - прекрастная NoSQL БД, написанная на Java ... и
> вкустностей вагон, и стабильно, и все работает.
Только очень мееееедленно. И жрет дофига. А так, конечно, работает. Когда не падает.
| |
|
4.24, edwin3d (?), 12:15, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Та же Cassandra - прекрастная NoSQL БД, написанная на Java ... и
>> вкустностей вагон, и стабильно, и все работает.
> Только очень мееееедленно. И жрет дофига. А так, конечно, работает. Когда не
> падает.
Вы это Twitter'у расскажите. А то мужики то не знали ...
| |
|
5.73, Аноним (-), 16:41, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Вы это Twitter'у расскажите. А то мужики то не знали ...
Twitter уже привык закупать в 3 раза больше серверов чем нужно. В реальеом мире этого делать никто не будет и cassandra нигде не используется.
| |
|
6.76, Аноним (-), 17:18, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Twitter уже привык закупать в 3 раза больше серверов чем нужно. В реальеом мире этого делать никто не будет и cassandra нигде не используется.
А твиттер в курсе что они в три раза больше серверов купили чем им нужно? Это что использование Java позволяет в три раза уменьшает необходимое количество серверов или Cassandra?
| |
|
|
|
|
2.29, ДяДя (?), 13:10, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Не всё так в Java однозначно(в остальных платформах/языках, увы, тоже).
Вот, например, целочисленное суммирование элементов массива в цикле, типа:
__int32 sum = 0;
for (int i = 0, n = vec.size(); i < n; i++)
sum += vec[i];
Чтобы на GCC результаты приблизились к Java нужно пошаманить. g++ -O3 -funroll-loops помогает. При этом Java будет компилить код, который оптимален для данного процессора, а GCC неплохо оптимизирует для -march. Только с данным ключом на другом процессоре будет тормозить или вообще работать не будет.
Память в Java жрут коллекции. Если это неприемлемо, то используют массивы. Может это кому-то покажется не совсем в стиле Java и не очень удобным, но по сравнению с C/C++ вполне приемлемо.
В итоге, (при грамотном подходе, разумеется) производительность систем, где активно используются данные из памяти, ВСЕГДА упирается в пропускную способность памяти, а не в язык разработки. Оптимизировать можно, только с помощью уменьшения объёма данных, для более эффективного использования кэша.
P.S.
За конкретный пример спасибо Роману Елизарову http://elizarov.livejournal.com/ ;-)
Кстати это человек, который РЕАЛЬНО делает высоконагруженные производительные системы.
| |
|
3.63, Аноним (-), 15:49, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> P.S.
> За конкретный пример спасибо Роману Елизарову http://elizarov.livejournal.com/ ;-)
> Кстати это человек, который РЕАЛЬНО делает высоконагруженные производительные системы.
... и за многие годы работы с ними, как любой разработчик на его месте, видел миллионы случаев, когда жаба сливает сям. Но он также случайно обнаружил редкую, уникальную ситуацию, когда жаба почти не сливает, и не замедлил привести ее в качестве практического примера =)
| |
|
4.81, ДяДя (?), 22:11, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>... и за многие годы работы с ними, как любой разработчик на его месте, видел миллионы случаев, когда жаба сливает сям.
Если бы он видел миллионы случаев слива, то не работал бы с Java.
Посмотрите клиентов для интереса: http://www.devexperts.com/ru/clients.html
ММВБ, РТС о чём-нибудь говорят? Плюс ведущие брокеры. Это всё реальный хардкор для приложений. Миллионы транзакций.
Кстати он говорит, что C должен знать любой программист.
> Но он также случайно обнаружил редкую, уникальную ситуацию, когда жаба почти не сливает, и не замедлил привести ее в качестве практического примера =)
Это просто самый прямолобый пример, который не завязан на всякие специфичные вещи и его можно адекватно воспроизвести во многих языках/платформах.
| |
|
|
2.37, Stocker (?), 14:25, 12/07/2012 [^] [^^] [^^^] [ответить]
| –4 +/– |
Ну да, ну да... Если всё то же самое написать на си, то конечно можно сэкономить примерно 18 мегабайт памяти и после жёсткой-жёсткой компиляции для совсем конкретного процессора оно на этом процессоре возможно будет быстрее на 1-2 процента.
Итого 1) экономия 18м памяти (а мы ведь говорим о высоконагруженных кластерах, где вся доступная многогиговая память будет занята нашим приложением)
2) Многотрах админов с компиляцией и бубном ради 1-2 процентов (а ведь джаву просто запустить и всё :)
3) Нужно потратить лишний миллион человеко-часов на разработку, хотя эти ресурсы можно потрать на что - либо гораздо более полезное и нужное.
Но вам - то на вашей кухне чо, оналитеги хреновы
| |
|
3.43, Анонимъ (?), 15:19, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Он будет не меньше по размеру (это как раз фиолетово) а быстрее. Именно это требуется для постоянной синхронизации объектов. Там любая прибавка скорости критична... а тут в качестве языка - жаба...
| |
|
4.55, ДяДя (?), 15:38, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Он будет не меньше по размеру (это как раз фиолетово) а быстрее.
Вот здесь и есть ошибка!
Скорость работы алгоритма зависит исключительно от используемой им памяти. Всё.
Чем меньше памяти использует алгоритм, тем быстрее он выполняется на современном железе.
Как только данные перестают помещаться в кэш происходит жуткая просадка. В Java даже есть ключ UseNUMA (на Windows не работает), который эффективно (с помощью данных об архитектуре памяти от ОС) по ядрам распределяет потоки, чтобы повысить вероятность нахождения в кэше полезных данных.
Т.о. память тормозит, а процессор простаивает, даже если он выполняет Java, которая в три раза тупее C(по мнению некоторых). Процессор с лёгкостью успевает перемолоть даже Java. Память за ним не поспевает. И в данный момент НЕВОЗМОЖНО чего-либо сделать. На производительность контроллера памяти и самой памяти невозможно повлиять переписыванием программы на другой язык.
| |
|
5.92, Fomalhaut (?), 22:04, 14/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Т.е. Может быть небольшой блок данных и весьма сложный алгоритм обработки. Особенно - математические расчёты.
| |
|
|
3.44, Аноним (-), 15:21, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ну да, ну да... Если всё то же самое написать на си, то конечно можно сэкономить примерно 18 мегабайт памяти и после жёсткой-жёсткой компиляции для совсем конкретного процессора оно на этом процессоре возможно будет быстрее на 1-2 процента.
Приведенные вами цифры характерны не для жабы, а для нормального компилируемого языка.
Для типичного перехода "жаба -> си" - потребление памяти уменьшится примерно в 18 раз, и работать будет быстрее на 100-200%.
| |
3.49, Аноним (-), 15:28, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Ну да, ну да... Если всё то же самое написать на си,
> то конечно можно сэкономить примерно 18 мегабайт памяти и после жёсткой-жёсткой
> компиляции для совсем конкретного процессора оно на этом процессоре возможно будет
> быстрее на 1-2 процента.
После перехода с Java на C, экономия ресурсов и прирост скорости обычно составляют не единицы процентов, а разы. Десятки и сотни раз.
| |
|
4.53, edwin3d (?), 15:34, 12/07/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> После перехода с Java на C, экономия ресурсов и прирост скорости обычно
> составляют не единицы процентов, а разы. Десятки и сотни раз.
Будте так любезны, подтвердите свои утверждения фактами.
Потому, что на сегодняшний день имеются совсем иные цифры, из которых следует, что Java вполне сопоставима с C++ по производительности в режиме компиляции -O2.
| |
|
5.60, Аноним (-), 15:42, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Будте так любезны, подтвердите свои утверждения фактами.
Запросто.
Была у нас система биллинга. Переписали основную часть (не фронтенд, он изначально на пыхе был) с жабы на си - перестало тормозить. И не тормозит даже после того, как перенесли с выделенного мощного сервака на слабый, с кучей других задач.
Вот такие пироги.
> Потому, что на сегодняшний день имеются совсем иные цифры, из которых следует,
> что Java вполне сопоставима с C++ по производительности в режиме компиляции
> -O2.
Фороникс небось?
| |
|
6.64, edwin3d (?), 15:54, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Будте так любезны, подтвердите свои утверждения фактами.
> Запросто.
> Была у нас система биллинга. Переписали основную часть (не фронтенд, он изначально
> на пыхе был) с жабы на си - перестало тормозить.
"перестало тормозить" это увы, но мало информации.
Тут надо сравнивать:
а) код
б) потребленное процессорное время и памяти.
дело в том, что при переписывании ведь не просто так один в один.
Возможно в старой реализации было что-то. что достаточно было переписать в Java.
> И
> не тормозит даже после того, как перенесли с выделенного мощного сервака
> на слабый, с кучей других задач.
> Вот такие пироги.
>> Потому, что на сегодняшний день имеются совсем иные цифры, из которых следует,
>> что Java вполне сопоставима с C++ по производительности в режиме компиляции
>> -O2.
> Фороникс небось?
Неа.
Источники различные.
начиная о себя, заканчивая тем. что в инете опубликовано ... на большинстве задач разброс не более 20 %.
| |
|
7.67, Аноним (-), 16:12, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Успокойтесь)) Сейчас в вопрос часто ставят node.js vs Java. А на декстопе в простеньких приложениях Java не прижилась в первую очередь из-за выпиливания ее из винды в далеких годах, необходимости установки виртуальной машины. Всякие сложные декстоп приложения типа Maple/Ramus/и т.п.-и на десктопе отлично себе живут.
| |
|
6.68, ДяДя (?), 16:23, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Была у нас система биллинга. Переписали основную часть (не фронтенд, он изначально на пыхе был) с жабы на си - перестало тормозить.
И какой сервер приложений был ??
Сколько раз наблюдал просадку БД. Даже на PHP.
Так здесь переписыванием клиента мало поможешь.
Но, чтобы БД не тормозила, а само приложение тормозило - это первый раз слышу.
Недавно документооборот на Java тестировали. Т.к. специфику приложения знали плохо, то под БД и сервер приложений взяли одинаковые сервера. Ксеоны с 16ядрами. Просела PostgreSQL.
И как здесь переписывание на C поможет? Переписывание SQL-запросов может помочь, но никак не переписывание серверного приложения.
>Фороникс небось?
HotSpot JIT на текущий момент один из лучших компиляторов для x86 и SPARC. Это признано многими экспертами в данной области. И! Вы сами это можете проверить!
Другое дело, что Java не на один JIT завязана.
| |
|
|
4.62, ДяДя (?), 15:48, 12/07/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> После перехода с Java на C, экономия ресурсов и прирост скорости обычно
> составляют не единицы процентов, а разы. Десятки и сотни раз.
Ржунемагу!!
Про десятки и сотни жесть!
Я понимаю, если бы вы с PHP сравнили.
| |
|
3.74, Аноним (-), 16:43, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Ну да, ну да... Если всё то же самое написать на си,
> то конечно можно сэкономить примерно 18 мегабайт памяти
...на каждый байт хранилища...
> и после жёсткой-жёсткой компиляции для совсем конкретного процессора оно на этом процессоре возможно будет быстрее на 1-2 процента
...чем java на десятке таких процессоров...
| |
|
|
1.12, Аноним (-), 10:36, 12/07/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
судя по камментам, новость была о новой версии джавы, а не о распределённой памяти %)
| |
1.22, Аноним (-), 11:50, 12/07/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> Код компонентов Galaxy написан на языке Java.
Непонятно, почему не на питоне? Все-таки, java - это вчерашний день промышленных приложений. Питон может тормозить и жрать память в разы эффективнее.
| |
|
2.26, Аноним (-), 12:24, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Потому что в питоне не обязательно создавать новый класс для каждого чиха. Как известно, ёмкость и понятность кода для промышленных приложений являются большим минусом.
| |
|
3.48, Аноним (-), 15:26, 12/07/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Потому что в питоне не обязательно создавать новый класс для каждого чиха.
> Как известно, ёмкость и понятность кода для промышленных приложений являются большим
> минусом.
Это легко лечится созданием специализированного фреймворка.
Опять же, созданные дополнительной прослойкой тормоза и жрач памяти не помешают.
| |
3.57, Crazy Alex (ok), 15:39, 12/07/2012 [^] [^^] [^^^] [ответить]
| +/– |
Я вот не пойму одну вещь. Обычно в пользу простыней, длинных названий и т.п. приводятся аргументы что, мол, так поддерживать удобнее. Один я такое читаю с трудом? Вот есть какая-нибудь идиома-заклинание из перла, сей и тому подобного. Один раз в этом разобраться надо. Но идиом этих довольно мало, зато потом однив взглядом видишь, что происходит. А теперь берём джаву или код на плюсах (там тоже можно в джава-стиле писать) - простыня с кучей похоже названных переменных и методов. Глаз замыливается моментально, пять строк прочел - в первой уже путаешься. Как это может быть более лёгким в поддержке?
| |
|
|
1.34, Аноним (-), 13:39, 12/07/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Как говорится, "представляет чисто академический интерес". Видимо, поэтому и открыли.
| |
|