Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Очередные данные о "медленности" JAVA 
:(
    Опции темы
Се ля ви
Дата 21.4.2007, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



Вот по поводу Tools`овин информация:
Цитата(http://dev2dev.bea.com/jrockit/tools.html)
JRockit Mission Control is currently included in BEA JRockit R27.1 JDK. BEA JRockit can be downloaded from the JRockit Product Center on Dev2Dev. To use the included Mission Control tools, you need to download a suitable license. There are two types of licenses:
    * Developer License - The Developer License is free and allows the tools to be used for 1 hour, after which JRockit must be restarted before running the tools again.
    * Enterprise License - The Enterprise License allows unlimited use of the tools.



--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
w1nd
Дата 22.4.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата(Се ля ви @  20.4.2007,  17:01 Найти цитируемый пост)
Я продолжаю утверждать, что эта JVM лучше подходит для production-mode J2EE - приложений, даже если они крутятся не на WebLogic`е.

Не считая одной малости: по словам ведущего системного инженера BEA Systems (Мачей Грушка), JRockit стоит использовать только при наличии глубоких знаний о её внутреннем устройстве и способах её настройки. Я могу прокомментировать: эта jmv может на совершенно ровном месте упасть не пискнув или намертво зависнуть, причём частота таких падений/зависаний удручает.

Короче, господа, есть только одна jvm и делают её в sun ;)

Это сообщение отредактировал(а) w1nd - 22.4.2007, 21:24


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
Се ля ви
Дата 23.4.2007, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



Цитата(w1nd @  22.4.2007,  21:21 Найти цитируемый пост)
по словам ведущего системного инженера BEA Systems (Мачей Грушка), JRockit стоит использовать только при наличии глубоких знаний о её внутреннем устройстве и способах её настройки.

В следующий раз, когда он приедет в Москву, я его расспрошу об этом по-подробней.


Цитата(w1nd @  22.4.2007,  21:21 Найти цитируемый пост)
могу прокомментировать: эта jmv может на совершенно ровном месте упасть не пискнув или намертво зависнуть, причём частота таких падений/зависаний удручает.

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

А ты уверен, что Sun`овская не упадёт, активно работая в режиме 24/7 через 2-3 месяца без перерыва?

Цитата(w1nd @  22.4.2007,  21:21 Найти цитируемый пост)
Короче, господа, есть только одна jvm и делают её в sun ;)

IBM`овская есть ещё, к примеру...


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
w1nd
Дата 23.4.2007, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата(Се ля ви @  23.4.2007,  10:20 Найти цитируемый пост)
А ты уверен, что Sun`овская не упадёт, активно работая в режиме 24/7 через 2-3 месяца без перерыва?

На моей памяти не падала.

Цитата(Се ля ви @  23.4.2007,  10:20 Найти цитируемый пост)
IBM`овская есть ещё, к примеру...

Не поминай всуе, а то ышшо явится smile Её ещё толком не юзал, но приконнектиться к ней из sun'овской по корбе... это такая гимнастика для всех частей тела, что я молчу smile 


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
alexsolo
Дата 25.4.2007, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 5.4.2007

Репутация: нет
Всего: нет



Возвращаясь к бенчмаркам. Сегодня тестируется следующий код:

Код


import java.util.Date;

public class Main {
 
    public static void main(String[] args) {

        int razmer = 12;
        int[] b = new int [30];
 
        long Time1, Time2;
        
        int d,m,min,obmen;
        int nomvar;

        for (d=1; d<=20; d++) b[d] = d;
        
        nomvar = 0;

        Time1 = (new Date()).getTime();

        while (true){
         nomvar++;
         for ( m = razmer; m > 1; m-- ) 
           if (b[m]>b[m-1]) break;
         if (m==1) break;
         obmen = m-1;
         for (min = obmen+1; min <= razmer; min++)
       if ((b[min]<b[m]) && (b[min]>b[obmen])) m = min;
         
         min = b[obmen];
         b[obmen] = b[m];
         b[m] = min;
         
         for (d = obmen+1; d < razmer; d++)
         {
            m = d;
            for ( min = d + 1; min <= razmer; min++ )
              if ( b[min] < b[m] ) m = min;
            
            min = b[m];
            b[m] = b[d];
            b[d] = min;
         };
            
            
        }
    
     System.out.println("Count: " + nomvar );   
     Time2 = (new Date()).getTime();
     System.out.println("Time: " + (Time2 - Time1) + " (ms)" );   
        
    }
}


Результаты забегов:
Код


Intel Core Duo E6600 (3.1 Ghz)

Intel C++      3531 ms
Delphi10 proc      3625 ms
C++Builer         4360 ms
VC++ 2005      4469 ms
Delphi10 goto      4519 ms
Delphi10 repeat   5172 ms
C#                5300 ms
Java 1.6         10234 ms


AMD Athlon 64 3000+ (2 Ghz)

Intel C++      8328 ms
Delphi10 proc      8875 ms
Delphi10 goto      9157 ms
C++Builer         9400 ms
VC++ 2005     10656 ms
C#               11375 ms
Delphi10 repeat  11391 ms
Java 1.6         16000 ms


INTEL M760 (2 Ghz)

Intel C++      7187 ms
Delphi10 goto      7344 ms
Delphi10 proc      8046 ms
Delphi10 repeat   8500 ms
C++Builer         8550 ms
VC++ 2005      8640 ms
Java 1.6         20900 ms


P4 (2.6 Ghz)

Intel C++     7484 ms
Delphi10 goto     7813 ms
C++Builer        7907 ms
Delphi10 proc     9141 ms
Delphi10 repeat  9422 ms
VC++ 2005    10344 ms
C#              12031 ms
Java 1.6        17312 ms


Исходники + бинарники:
http://www.mycoolfotos.com/lzma/repeat_goto.zip (371 KB)


PM MAIL   Вверх
nornad
Дата 25.4.2007, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(alexsolo @  25.4.2007,  03:35 Найти цитируемый пост)
Результаты забегов:

Не понял, к чему это? то должны показать эти результаты?
То, что мобильный проц медленнее? И так понятно. То, что одноядерный АМД 2ГГц медленне двуядерного интела 3ГГц?

Просветите уж, для выявления чего сделан тест. И причём тут медленность жабы.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
LSD (Online)
Дата 25.4.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 209
Всего: 537



А что вообще за алгоритм, то? И почему такая странная инициализация массива?


--------------------
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.
PM MAIL WWW   Вверх
NotGonnaGetUs
Дата 25.4.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 25.2.2005
Где: Москва

Репутация: 4
Всего: 12



Источником этих тестов служит обсуждение на sql.ru.

Один и тот же алгоритм генерации перестановок копировался один в один с языка на язык и замерялось время работы.

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

Увидив это, я предложил другой алгоритм решения той же самой задачи и протестировал его на java/c#.
Оказлось, что теперь java в полтора раза быстрее с#. Это довольно занимательный факт.

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

PM MAIL   Вверх
VOS
Дата 25.4.2007, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 31.1.2007

Репутация: нет
Всего: 8



Полагаю, что в конечном счете код, сгенерированный JIT-компилятором будет более быстрым, чем код сгенерированный классическим компилятором. В классике код генерируется один раз и, соответственно, остается постоянным.
JIT-компилятор же может в зависимости от внешних условий генерировать "изменяемый" код, а значит теоретически и более быстрый. 
Думаю особенно заметно это может быть в приложениях, которые должны работать в режиме 24X7 с надежностью не менее 99,99%
(не более нескольких часов в год простоя).
Там будет возможность собрать статистику вызовов и т.д., чтобы сгенерировать более оптимальный код для часто вызываемых функций, заменить их на inline, параметры не через стек, а в регистах , перегенерить так, чтобы часто отрабатываемый код целиком помещался во внутренний кеш конкретного проца, корректировать механизм выделения памяти и т.д. 

Аналогию можно провести с хранимыми процедурами. Работают быстро, потому что хранимка вроде как "скомпилирована". По большому счету это значит, что уже построен и сохранен план запроса. Соответственно выбраны индексы и т.д. Но это не всегда здорово, т.к. например на момент создания хранимки таблица A, участвующая в запросе содержала всего 15 записей, и план запроса оптимизатором строился исходя из этого. После месяца работы таблицу A раздуло и все, сохраненный план может быть уже далеко не оптимален.

Я это к тому, чтобы не удивлялись поклонники Delphi, а потом и С++ " как это интерпретируемый Java обогнал по скорости компилируемый
Delphi/C++/...".  Это вполне возможно для некоторых классов задач.
PM MAIL   Вверх
batigoal
Дата 25.4.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



В теории это звучит заманчиво, но реализуют ли сейчас интерпретаторы такую функциональность?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Platon
Дата 27.10.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



Подолью огонька в диалог.
Стоит ли использовать технологию, которую потом приходится обвешивать всяческого рода native библиотеками (мягко намекая на GUI Swing и SWT), тогда уж действительно слогон "compile once - run everywhere" становится не актуальным, более того начинает проигрывать девизу "write once - compile everywhere", хотя справедливости ради замечу, что в 1.5 версии отрисовка GUI становится сносной, а в 1.6 даже шустрой.
PM MAIL ICQ   Вверх
w1nd
Дата 27.10.2007, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата(Platon @  27.10.2007,  17:50 Найти цитируемый пост)
Стоит ли использовать технологию, которую потом приходится обвешивать всяческого рода native библиотеками (мягко намекая на GUI Swing и SWT), тогда уж действительно слогон "compile once - run everywhere" становится не актуальным, более того начинает проигрывать девизу "write once - compile everywhere", хотя справедливости ради замечу, что в 1.5 версии отрисовка GUI становится сносной, а в 1.6 даже шустрой.

Честно говоря, не осилил. Что вы хотели сказать?


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
nornad
Дата 28.10.2007, 05:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Platon, не надо нас переманивать с Java на другие платформы. smile
GUI даже на 1.4 можно было нарисовать так, чтобы он особенно не тормозил. Просто, большинство программистов знало, как что-то реализовать в принципе, но не знало, как именно это лучше сделать, чтобы не добавлять лишних тормозов.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Platon
Дата 28.10.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



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


nornad, в поисках истины прибегаю и к критике. Не могу сказать, что переманиваю, скорее сказать,  прошу, чтоб успокоили и переубедили.
Цитата(nornad @  28.10.2007,  05:54 Найти цитируемый пост)
GUI даже на 1.4 можно было нарисовать так, чтобы он особенно не тормозил.

На это могу сказать так, что даже если ты плохо программируешь, в родном приложении тормозов можно не заметить, но на Java у тебя постоянная необходимость в том, чтобы весь код был максимально оптимизирован. Это изречение безусловно двояко, можно сказать, что код и так должен быть оптимизированным, НО и можно сказать, что GUI приложения завоевали себе неважную славу. 

ЗЫ: Используя метод от противного. Если принять за истину, что GUI-приложения на Java работают быстро, то нет необходимости в разработке родных GUI-библиотек, что противоречит действительности. => GUI-приложения медленные. ЧТД
PM MAIL ICQ   Вверх
nornad
Дата 28.10.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(Platon @  28.10.2007,  15:21 Найти цитируемый пост)
хочу сказать, что проще программировать на C++ с помощью Qt, иметь абсолютно родное приложение, при этом написать код один раз и скомпилировать его посредством разных компиляторов.

А ты в курсе, сколько стоит Qt?  smile 

Цитата(Platon @  28.10.2007,  15:21 Найти цитируемый пост)
ЧТД

Малость абстрактно и притянуто за уши, но я скорее согласен, чем нет. smile


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2012 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.