Есть ли будущее у DELPHI?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.43] |
|
|
Правила раздела:
| Страницы: (245) « Первая ... 162 163 [164] 165 166 ... 244 245 ( Перейти к последнему сообщению ) |
Есть ли будущее у DELPHI?
|
Сообщ.
#2446
,
|
|
|
|
Там же вроде написано:
Цитата In the first case (Cold), we simply started and measured the program 66 times; and then discarded the first measurement leaving 65 data points. ... In the second case (Warmed), we started the program once and repeated measurements again and again and again 66 times without restarting the JVM; and then discarded the first measurement leaving 65 data points. |
|
Сообщ.
#2447
,
|
|
|
|
http://en.wikipedia.org/wiki/C10k_problem Цитата MyNameIsIgor @ И вообще, в разговоре про производительность давать ссылку на сайт про масштабируемость... А что такого? У eBay и Amazon маленькая нагрузка? Я тебя спрашивал, что ты подразумеваешь под высокопроизводительным сервером, ты не ответил. Цитата MyNameIsIgor @ А эту не понял вообще... Ну, есть в амазоновских небесах джавовская инфраструктура... И чо? Ну ты же говорил, что джава на высокопроизводительных серверах -- ни-ни. Амазоновские сервера непроизводительны? Цитата MyNameIsIgor @ Ой,korvin, ну, проведи ты уже тесты с компараторами. Позапускай сколько надо, с разными настройками, пусть JIT собирает статистику - будет вполне обстоятельный результат ![]() Так а с чем я сравнивать буду? Кроме того, я так и не понял, как правильно воспользоваться их сортировкой: что передавать в параметрах left, right? Добавлено Цитата trainer @ Там же вроде написано: Цитата In the first case (Cold), we simply started and measured the program 66 times; and then discarded the first measurement leaving 65 data points. ... In the second case (Warmed), we started the program once and repeated measurements again and again and again 66 times without restarting the JVM; and then discarded the first measurement leaving 65 data points. Ну вот, а в статье на хабре написано, что для десктопной конфигурации джавы нужно не менее 1.5к запусков, для серверной -- 15к. Можно этот параметр изменить, но не факт, что это будет хорошим решением и для десктопной там предлагалось выбирать не менее 100 запусков. |
|
Сообщ.
#2448
,
|
|
|
|
Цитата korvin @ Ну вот, а в статье на хабре написано, что для десктопной конфигурации джавы нужно не менее 1.5к запусков, для серверной -- 15к. Можно этот параметр изменить, но не факт, что это будет хорошим решением и для десктопной там предлагалось выбирать не менее 100 запусков. И шо ты предлагаешь? поторы тыщи раз запускать джава прогу, чтоб она начала более менее шустрее работать? |
|
Сообщ.
#2449
,
|
|
|
|
Так почему не с чем сравнивать? nginx не канает? Цитата korvin @ А что такого? У eBay и Amazon маленькая нагрузка? Я тебя спрашивал, что ты подразумеваешь под высокопроизводительным сервером, ты не ответил. Ну, я думал, что масштабируемость, нагрузка и производительность - вещи разные. Одну и ту же большую нагрузку можно выдерживать на 100 серверах, а можно на 10. Во втором случае производительность отдельно взятого сервера будет выше. Цитата korvin @ Так а с чем я сравнивать буду? Там в статье человек показывает как .NET-машина обламывается с run-time оптимизацией и как заставить её таки оптимизировать с помощью структур. Показана стоимость вызова компаратора. Цитата korvin @ Кроме того, я так и не понял, как правильно воспользоваться их сортировкой: что передавать в параметрах left, right? Ты о чём? Добавлено Цитата korvin @ Ну ты же говорил, что джава на высокопроизводительных серверах -- ни-ни. Амазоновские сервера непроизводительны? Один момент. Предоставление амазоном джавовской инсфраструктуры на инстансах виртуальных серверов - это одно. А вот устройство самого облака - совсем иное. |
|
Сообщ.
#2450
,
|
|
|
|
Цитата MyNameIsIgor @ Так почему не с чем сравнивать? nginx не канает? Ну если ты сделаешь на nginx "WebSocket echo server", то можно будет сравнить. Цитата MyNameIsIgor @ Там в статье человек показывает как .NET-машина обламывается с run-time оптимизацией и как заставить её таки оптимизировать с помощью структур. Показана стоимость вызова компаратора. Я попробую прочитать статью более подробно и воспроизвести тест на джаве. Цитата MyNameIsIgor @ Цитата korvin @ Кроме того, я так и не понял, как правильно воспользоваться их сортировкой: что передавать в параметрах left, right? Ты о чём? У него метод Sort принимает несколько параметров, кроме массива ключе и массива значений еще целочисленные значения left и right, я вроде бы представляю как ими воспользоваться, но попробовав, понял, что что-то не понимаю. Мне нужен код main-метода. Добавлено Цитата KILLER @ И шо ты предлагаешь? поторы тыщи раз запускать джава прогу, чтоб она начала более менее шустрее работать? ![]() Для серверов (где жаба обычно и используется) в этом нет никаких проблем. Даже на десктопе прогнать основные методы с фейковыми данными не большая проблема. |
|
Сообщ.
#2451
,
|
|
|
|
Цитата korvin @ У него метод Sort принимает несколько параметров, кроме массива ключе и массива значений еще целочисленные значения left и right, я вроде бы представляю как ими воспользоваться, но попробовав, понял, что что-то не понимаю. Мне нужен код main-метода. Сортировка слиянием? Добавлено Цитата korvin @ Для серверов (где жаба обычно и используется) в этом нет никаких проблем. Даже на десктопе прогнать основные методы с фейковыми данными не большая проблема. А смысл? Памяти оно всеравно жрать будет как верблюд воду. |
|
Сообщ.
#2452
,
|
|
|
|
Цитата KILLER @ Сортировка слиянием? QuickSort там. Цитата KILLER @ А смысл? Памяти оно всеравно жрать будет как верблюд воду. Это может оказаться маловажно, я же говорю, это зависит от требований к серверу и прочих факторов =) |
|
Сообщ.
#2453
,
|
|
|
|
Цитата korvin @ Понятия не имею, алгоритм сортировки не смотрел, глянь сам, если хочешь. Ну так там похоже сортировка вставками используется. Добавлено Цитата korvin @ Это может оказаться маловажно, я же говорю, это зависит от требований к серверу и прочих факторов =) korvin, а ты читал ссылки что я приводил? Вот допустим по этой: http://habrahabr.ru/post/76481/ Автор судя по всему Java developer, пишет на счет типа boolean: Цитата ... К слову сказать, сделай я правильный backup и экстренные работы по восстановлению жизнеспособности прошли бы гораздо более спокойно, но это была бы уже совсем другая история. Итак в моём распоряжении есть код, которому не хватает 15Gb оперативной памяти для нормального функционирования и очень длительный и дорогостоящий процесс запуска (около 5 часов), в ходе работы которого можно только сидеть со скрещенными пальцами и надеятся, что в этот раз заветные слова OutOfMemoryException не появятся в консоли удалённого сервера. ... Рассмотрим распространённую Sun JVM и прочтем в спецификации виртуальной машины, что boolean типа в ней нет как такового, вместо него используется int! А это означает, что для хранения значения типа «да\нет» используется ровно 32 бита, независимо от архитектуры процессора. Правда в том же разделе мы видим, что произведена оптимизация для работы с массивами boolean, которые преобразуются в массив байт, что даёт прирост доступной памяти в 4 раза. И всё же платить за хранение нолика или еденички семью лишними битами — иногда просто кощунство и издевательство над серверами (особенно при размерах массивов в 500 миллионов элементов). ... Ты понимаешь что тут от сервера мало что зависит? 500 миллионов элементов у чувака в массиве! Неудивительно что у него 5 часов загружается программа. А теперь только на секунду представь, что эти данные хранятся в файле на жестком диске, а не в массиве в ОЗУ! Это во сколько же раз можно было уменьшить кол-во потребляемой памяти и скорость работы! А ты говоришь это от серверов зависит, ничего тут не зависит от сервера, тут зависит от программера все. |
|
Сообщ.
#2454
,
|
|
|
|
Цитата KILLER @ Ты понимаешь что тут от сервера мало что зависит? 500 миллионов элементов у чувака в массиве! Неудивительно что у него 5 часов загружается программа. А теперь только на секунду представь, что эти данные хранятся в файле на жестком диске, а не в массиве в ОЗУ! Это во сколько же раз можно было уменьшить кол-во потребляемой памяти и скорость работы! А ты говоришь это от серверов зависит, ничего тут не зависит от сервера, тут зависит от программера все. Что в Джаве мешает юзать битовую арифметику? |
|
Сообщ.
#2455
,
|
|
|
|
Цитата [S]mike @ Что в Джаве мешает юзать битовую арифметику? Тоесть ты тоже любитель завести массив на пицот мулионов элементов? Мне лично в голову такое ниразу не приходило, обычно объем таких данных быстрее и экономно хранить в файле, загружая и храня инфу от туда порциями. Не ну ладно там 10 тысяч элементов, но миллион же уже много, разве нет? А тут 500! Добавлено Или жава программеру похеру на сколько элементов массив выделять? Добавлено Кстати 500кк элементов по 32 байта каждый, это как раз в районе 15 гигабайт... |
|
Сообщ.
#2456
,
|
|
|
|
Цитата KILLER @ Тоесть ты тоже любитель завести массив на пицот мулионов элементов? Мне лично в голову такое ниразу не приходило, обычно объем таких данных быстрее и экономно хранить в файле, загружая и храня инфу от туда порциями. Не ну ладно там 10 тысяч элементов, но миллион же уже много, разве нет? А тут 500! Добавлено менее минуты назад Или жава программеру похеру на сколько элементов массив выделять? Еще раз повторю вопрос: ЧТО мешает делать то же самое в Джаве? Юзать битовую арифметику, загружать данные из файла? |
|
Сообщ.
#2457
,
|
|
|
|
Цитата [S]mike @ Еще раз повторю вопрос: ЧТО мешает делать то же самое в Джаве? Юзать битовую арифметику, загружать данные из файла? Java-программистам? Незнаю, просто как я понял в Java это обычная практика, ведь ни о чем беспокоится не нужно, java о все позаботится. А проблема сделать тоже самое одна - нужен толковый специалист, который должен понимать, что храние больших объемов данных в ОЗУ для java верный путь к out of memory . А так тебе никто не мешает ее юзать, но кто то ее юзает думаешь? Вот ты юзаешь? |
|
Сообщ.
#2458
,
|
|
|
|
Цитата korvin @ Ну если ты сделаешь на nginx "WebSocket echo server", то можно будет сравнить. Ну, я имел ввиду, почему автор этой страницы не включил в тест nginx. Думаю, есть для него реализация... хотя я не спец в nginx, D_KEY'я надо спросить. Цитата korvin @ Я попробую прочитать статью более подробно и воспроизвести тест на джаве. Давай |
|
Сообщ.
#2459
,
|
|
|
|
Цитата MyNameIsIgor @ Давай ![]() Все равно непонятно, как вызвать эту функцию сортировки, но я нашел другую реализацию, думаю это не принципиально, ведь сравниваем компараторы? Если да, то какие? Generic и Int, которые он привел? У него получилось, что Int быстрее? А он что ожидал? Что .NET'овский JIT его соптимизирует до Int? |
|
Сообщ.
#2460
,
|
|
|
|
Цитата MyNameIsIgor @ Цитата korvin @ Ну если ты сделаешь на nginx "WebSocket echo server", то можно будет сравнить. Ну, я имел ввиду, почему автор этой страницы не включил в тест nginx. Думаю, есть для него реализация... хотя я не спец в nginx, D_KEY'я надо спросить. Я не очень следил за вашим разговором. Но nginx (пока) не поддерживает напрямую websocket'ы. Насколько я знаю. И что вы к ним так привязались? И я тоже не особый спец по nginx'у - несколько модулей для него всего лишь писал. В итоге производительность была небольшая - порядка 2-3 тысяч запросов в секунду(на одном сервере), но это из-за(зачастую ненужной и кривой ) логики...Вообще люди руками пишут на libevent/libev + сопрограммы какие-нибудь - там доходит до миллионов запросов в секунду даже при относительно сложной логике и большом объеме данных(правда в ущерб масштабируемости) Честно говоря, не представляю там Java... |