![]() |
Модераторы: LSD, AntonSaburov Страницы: (18) Все « Первая ... 6 7 [8] 9 10 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Ну во первых такую мысль культивируют ребята из BEA, противопоставля ей свою JRockit. По чистой производительности в вычислительных тестах, она проиграла Sun-овской JVM, а гонять стресс тесты длительностью в недели у меня нет возможности. Во вторых есть действительно специфичные JVM, например Aurora от Oracle, там специфика в тесной интеграции с сервером. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Хм... стало жутко интересно, и я накатал тестик, смысл которого скорость создания объекта + вызов метода.
Код С++ писал под Windows, с использованием MS Visual Studio 6.0 (поскольку другой не имею). На идеальность тест не претендует, поправьте меня если что нет так. С++:
Java:
С++: MSVS 6.0 (в настройках оптимизация поставлена на скорость) Java: 1.5.0_07-b03 (client/server) Время выполнения (миллисекунды): C++ (release) ~ 1297 Java (client) ~ 422 Java (server) ~ 203 ОС Windows XP Professional sp2 Комп: AMD Athlon 64 X2 4200+ (2.2 гГц) RAM 2 GB Так что можно сделать выводы, что Java местами даже побыстрее C++ будет ![]() |
||||
|
|||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 1 Всего: 173 |
MoonCat, то что при частом создании маленьких объектов GC рулит по сравнению с кучей, было известно давно
![]() -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 9 Всего: 39 |
Слабо вериться. Скорее всего java при компиляции высчитывает значение которое получиться (почему-то мне кажется, что именно так).
и просто его выводит, или каким-то подобным макаром. Предлагаю сделать значение 11 случайным и посмотреть, что получиться, в сравнении с с++. |
|||
|
||||
powerOn |
|
||||||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Да я, вообще, еще тот любилеть Америки открывать. ![]()
Хорошо..., правим код: Java
C++:
Время выполнения (миллисекунды): C++ (release) ~ 1453 Java (client) ~ 937 Java (server) ~ 531 Может я в коде где ошибся? Но Java все равно быстрее... |
||||||||
|
|||||||||
JUncle |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 6.4.2006 Где: Казань, РФ Репутация: нет Всего: 1 |
Есть разумный компромисс - Eclipse SWT. Нативные графические библиотеки. Собственно, GUI Eclipse на нем сделан. В Java 6.0 Mustang обещали увеличить производительность GUI до уровня нативных приложений без всяких копромиссов в стиле SWT. Ну раз против не имеете, и такие разумные доводы за приводите, что же жалуемся? Это как в пилотировании самолета - размен скорости на высоту (C - > Java) либо наоборот. Ничего из ничего не получается. И ничто никуда не пропадает. Вряд ли ошиблись. Все дело в технологии HotSpot. "Узкие места" компилируются в машинный код и оптимизируются по адаптивному алгоритму, включая оптимизацию под конкретно ВАШУ архитектуру процессора (note: если он известен на момент выхода JDK). (А под какие процессоры может оптимизировать VS 6.0? - ритор. вопрос). Так что ничего удивительного тут нет. Кстати, попробуйте еще на VS 7.0 прогнать. Это сообщение отредактировал(а) JUncle - 17.7.2006, 20:22 --------------------
class JUncle extends Man // singleton{/*...*/} |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 1 Всего: 173 |
HotSpot, JIT и прочие радости управляемых сред здесь не при чем. Единственное узкое место в C++ коде здесь — это создание и удаление объекта. В Java это буквально пара инструкций, в C++ — проход по chunck'ам кучи. В этом легко убедиться, заменив calculate в варианте на Java на статический метод, а в C++ — на свободную функцию. В этом случае VC 7.1 примерно равен Java, а Intel C++ 9.0 обгоняет процентов на 15–20. Добавлено @ 23:57
Странно, чего это межконтинентальные лайнеры забираются в стратосферу, а кукурзники летают в пределах 3–4 тыс. м ![]() -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
JUncle |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 6.4.2006 Где: Казань, РФ Репутация: нет Всего: 1 |
Не хочу оффтопить, но это утверждение верно при пилотировании одного конкретного самолета. ![]() Это размен кинетической энергии на потенциальную и наоборот. На этом весь пилотаж и основан, в принципе. --------------------
class JUncle extends Man // singleton{/*...*/} |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
Прогнал тест powerOn (без ГСЧ) на Sun Java 1.5.0_06-b05, VC++ 8.0 и .NET 2.0:
Результаты: Java client ~ 800 Java server ~ 471 .NET (release) ~ 735 VC++ (release) ~ 3555 AMD Duron 1300 MHz, 512 Mb DDRAM, WinXP SP2. У плюсов результат действительно такой - приложение работает ощутимо дольше, чем на остальных платформах. Такой вопрос - почему существуют отдельно клиент и сервер для джавы? Или возможности серверной версии недостаточны для настольных приложений? Почему Sun не сделала универсальную версию на основе серверной? |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Там разное поведение: для серверной ставится задача максимальной производительности, а для клиентской быстрый старт и минимизация потребления памяти. Например серверная JVM не отдает полученую память вообще, а клиентская отдаст когда в куче будет большой процент свободной памяти. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
unkis |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
а говорят что java 6 будет только серверной?
Правда ли это? -------------------- www.unkis.com |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Нет.
![]() |
|||
|
||||
unkis |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
Спасибо теперь все ясно.
![]() Извиняюсь за оффтоп. но питаюсь запустить в серверном режиме мою программу а мне тут вот такую ошибку.
Проверил действительно такой папки с файлом там нет. Хотя установил JDK 1.6 RC. Что же тогда устанавливать надо чтобы оно заработало в серверном режиме? -------------------- www.unkis.com |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Ты запуск делаешь на JRE-шной JVM. Запускай именно на JDK-шной java.exe. |
|||
|
||||
cerf_machine |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 12.2.2007 Где: тебя носило? Репутация: нет Всего: 1 |
А в чем заключается принцип игры жизнь, про которую был разговор в начале?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |