|
|
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
вы все про Delphi?Ок, теперь мы знаем название чудо костылей"Неучем родился - дураком помрёшь". Башляешь пророкам ~130$ и получаешь возможность испольовать Hotspot или JRockit - на выбор. "Ничего личного, чистый бизнес". P.S. Вы бы или голову поднимали от своей песочницы или, таки, не брызгали слюной в разные стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 02:39 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, я думаю этот анонимос - это наш-же мембер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 09:31 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
А вот более конкретна бумажка по этому "взрывному" мусорщику https://www.azul.com/files/c4_paper_acm1.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 11:07 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonuid unique, возможно речь идет об использовании sun.misc.unsafe.* ? Сам я никогда не юзал но на семинарах толи Борисова толи Шипилева постоянно идут отсылки к тому как нужно "хачить" мемори через unsafe. По поводу GС. Некто David в своём блоге гонял бенчмарки на Jira серваках c xmx = 3G и достиг максимального лага в 0.1 сек для +UseG1GC. Conc-Mark-Sweep и обычный Parallel показывали характеристики похуже хотя они более комплексные с точки зреня выводов. Например Parallel давал самый низкий average-lag но при этом самый большой максимальный. Вообще КМК чтобы охарактеризовать GC более полно нужна не таблица а скорее гистограмма и среднее квадратическое отклонение gc time. 0.1 сек для гигабайта? а если этот гигабайт лежит в swap на hdd? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 11:29 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovвы все про Delphi?Ок, теперь мы знаем название чудо костылей"Неучем родился - дураком помрёшь". Башляешь пророкам ~130$ и получаешь возможность испольовать Hotspot или JRockit - на выбор. "Ничего личного, чистый бизнес". P.S. Вы бы или голову поднимали от своей песочницы или, таки, не брызгали слюной в разные стороны. слюной брызгаешь пока только ты. для меня вполне достаточно быть просто юзером Java приложений, вроде jenkins и прочих атлазианов, чтоб даже невооруженным взглядом видеть - как оно в мире Java все стабильно и качественно, и не лагает и не требует при случае жестких перезапусков. для этого ведь не нужно быть особо грамотным, достаточно просто попробовать попользоваться, и слюну можно сэкономить, а не разбрызгивать ее на форумах популяризируя чудные костыли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 11:34 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
nojava0.1 сек для гигабайта? а если этот гигабайт лежит в swap на hdd? Вот блог этого господина http://info.prelert.com/blog/java-garbage-collectors ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 11:35 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonnojava0.1 сек для гигабайта? а если этот гигабайт лежит в swap на hdd? Вот блог этого господина http://info.prelert.com/blog/java-garbage-collectors там нет ничего про swapping, paging, ballooning - очень страшные и табуированные слова для каждого жава типо архитекта страшно, страшно ониибыли далеки от народа со своей сурогатной jvm, от рождения не наученной правильной работе с любой ОС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:02 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
nojavaтам нет ничего про swapping, paging, ballooning - очень страшные и табуированные слова для каждого жава типо архитекта страшно, страшно ониибыли далеки от народа со своей сурогатной jvm, от рождения не наученной правильной работе с любой ОС Ты... по принципу если болит или чешется - то надо непременно, обязательно свою боль и свои синяки и струпья вывалить в этот несчастный форум? Ну зачем ты сюда принtc ballooning ? Оно нам надо? Ну не летаем мы на виртуалках (к примеру). Зачем нам сейчас ковырять твои гнойные язвы и слушать как ты стонешь и охаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:09 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonА вот более конкретна бумажка по этому "взрывному" мусорщику https://www.azul.com/files/c4_paper_acm1.pdf График летенси сборщика мусора Go Runtime 1.6 сферического приложения в вакууме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:14 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
schwa, чё такое Go Runtime 1.6 ? Это GoLang? (Sorry) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:20 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
mayton, Да. Он самый Go. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:23 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonНу зачем ты сюда принtc ballooning ? Оно нам надо? Ну не летаем мы на виртуалках (к примеру). Зачем нам сейчас ковырять твои гнойные язвы и слушать как ты стонешь и охаешь гнойные язвы походу у тебя в голове. разве ты не знаешь, что в мире существует понятие виртуального хостинга, вроде EC2 или Azure? да и современная инфраструктура предприятий в датацентрах давно уже заточена на управление ресурсами, ну там, live migrations, capacity on demand, все такое? ну молодец, живи в своем уютном селе дальше, на "сервере", стоящим под столом или в кладовке возле твого рабочего кабинета в здании бывшей столовой. и в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти? ну круууууть. ну мощааааа.... прогресс невиданный. верной дорогой идете, тогаищи :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:25 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
nojava, походу это ты был анонимус выше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:26 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
schwamayton, Да. Он самый Go. Положа руку на серде я уже потерял корень дискусси по поводу GC. Но если мы будем обсуждать GC in General то ОК. Я согласен. Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang и их общие алгоритмы и подходы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:28 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
nojavaи в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти? Это не соответствует действительности. Тот же Netflix тысячи своих джава поделок на EC2, Google запускает тысячи своих джава приложений на виртуалках и не жужжат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:34 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
schwanojavaи в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти? Это не соответствует действительности. Тот же Netflix тысячи своих джава поделок на EC2, Google запускает тысячи своих джава приложений на виртуалках и не жужжат. ты нечитатель? я же не говорил, что невозможно запускать. можно - и я даже написал вон выше как - отключаешь всякие балонинги, чотко, дерзко следишь чтоб виртуалки по использовани. памяти в сумме не превышали физическую оперативу хоста и вперед, чтоб не дай бог не в своп... одно только останется спросить - а нафига тогда вообще виртуалки? но то такое. настоящие жава архитекты таким вопросом не задаются - гугл же работает, верно? Ж) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:43 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonschwamayton, Да. Он самый Go. Положа руку на серде я уже потерял корень дискусси по поводу GC. Но если мы будем обсуждать GC in General то ОК. Я согласен. Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang и их общие алгоритмы и подходы. Форкнул http://www.sql.ru/forum/1221727/tyapnichnyy-idealnyy-sborshhik-musora ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:52 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
nojavaодно только останется спросить - а нафига тогда вообще виртуалки? У виртуалок главный минус - тормозной I/O как с диском, так и по сети. А плюсы в удобстве и простоте обслуживания, админу абсолютно ничего не надо знать об внутреннем устройстве, поэтому он быстро и просто может менять железо под виртуалкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:53 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonschwamayton, Да. Он самый Go. Положа руку на серде я уже потерял корень дискусси по поводу GC. Но если мы будем обсуждать GC in General то ОК. Я согласен. Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang и их общие алгоритмы и подходы. Возвращаясь к java. В ввиду того, что 1) писатели всякого "миддлваре" на джаве (кассандра, и тп) додумались, что хранить данные своих колоночек/столбцов/очередей и тп в хипе, не очень хорошая идея. 2) тем, кому нужны какие-то вменяемые данные по лейтенси, тоже не особо наделяется на GC. Большинство решений, которым нужно эффективное управление памятью, пишут это управление сами. 3) Перед тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:56 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Я рискну предположить что продавцы VPS нас безпощадно наёб умалчивают по поводу того какую оперативу они нам продают и как ее распределяют в датацентрах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:56 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
schwaПеред тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо. 1) Я рискну предположить что сами по себе аллокации не страшны (работа стека это тоже аллокация в некотором смысле) но страшны ссылки которые пережили 1-ю эпоху чистки. Работать без аллокаций вообще невозможно - это равносильно отказу от работы со строковым типом данных. Везде где строки - будут аллокации. 2) По поводу тюнига сборки мусора. Нет ли здесь отсылки к разработкам LMAX? ЕМНИП из лекций по неблокирующим очередям некто рассказывал что дескыть отключали вообще GC на сутки и при этом утечки были так соптимизированы что в качесте уборки использовали просто ежесуточный ребут сервера (нормальный график работы Лондонской биржи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 13:05 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonschwaПеред тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо. 1) Я рискну предположить что сами по себе аллокации не страшны (работа стека это тоже аллокация в некотором смысле) но страшны ссылки которые пережили 1-ю эпоху чистки. Работать без аллокаций вообще невозможно - это равносильно отказу от работы со строковым типом данных. Везде где строки - будут аллокации. От строк избавиться-то можно (самопильные оффхип строки кое-где используются), а от копирования байт при передаче на запись в файл/сокет уже не получится. mayton2) По поводу тюнига сборки мусора. Нет ли здесь отсылки к разработкам LMAX? ЕМНИП из лекций по неблокирующим очередям некто рассказывал что дескыть отключали вообще GC на сутки и при этом утечки были так соптимизированы что в качесте уборки использовали просто ежесуточный ребут сервера (нормальный график работы Лондонской биржи). Это известный сценарий, когда _все_ создаваемые объекты "всегда умирают молодыми". Если у вас такое приложение, то можно выделять большой-большой массив объектов и его элементы переиспользовать т.к. размер старого поколения в вас не изменяется, то сборок старого поколения нет и вот у вас GC пауза порядка 5 ms и меньше в зависимости от интенсивности создания молодых объектов. Если же нет, то все становится намного интересней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 13:43 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
schwamaytonпропущено... 1) Я рискну предположить что сами по себе аллокации не страшны (работа стека это тоже аллокация в некотором смысле) но страшны ссылки которые пережили 1-ю эпоху чистки. Работать без аллокаций вообще невозможно - это равносильно отказу от работы со строковым типом данных. Везде где строки - будут аллокации. От строк избавиться-то можно (самопильные оффхип строки кое-где используются), а от копирования байт при передаче на запись в файл/сокет уже не получится . Например, сама Oracle владелец и разработчик языка и виртуальной машины Java - вряд ли когда-нибудь в своих high-performance продуктах типа Oracle DMBS, RAC, Exadata, TimesTen будет использовать сборщик мусора в C/C++, а он сейчас возможен по стандарту C++11 и они могли бы его реализовать взяв концепцию из Java. Потому что это бред. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf 20.7.4 Change: Minimal support for garbage-collected regions А вот uDAPL для межсерверной передачи без копирований - они используют: https://docs.oracle.com/cd/E23824_01/html/821-1459/eyasr.html В C++ память жестких дисков PCIe-SSD можно отображать в userspace как обычную память и писать в неё прям из регистров: http://www.avagotech.com/applications/datacenters/enterprise-storage В C++ можно передать байт из RAM (фактически cache-L3 CPU) сервера-1 в RAM-память сервера-2 (а фактически в его L3 CPU за счет PCIe-snooping) без лишних копирований . Чтобы совсем честно физически интерфейс должен быть RoCE/Infiniband/PCIe. Варианты протоколов: 1. VMA- socket 2. uDAPL rdma 3. SISCI rdma 4. Java + uDAPL 5. MPI-2 over uDAPL 6. Или если есть в Java MPI-wrapper то так же (MPI-2 over uDAPL): http://mirror.its.dal.ca/openmpi/faq/?category=java MPI_PUT(src_ptr, size, type, dst_rank, dst_shift, size, type, shared_rdma_window); Page 83 http://www.training.prace-ri.eu/uploads/tx_pracetmo/advanced_parallel_handoutAPPC16.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 16:36 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Вообще то для кешей и прочего можно память без GC использовать в Java. У меня была необходимость использовать большой пул массивов для кеширования без GC (3 GB RAM) еще 5-6 лет назад использовал его в Java. Смотрим ByteBuffer https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html A direct byte buffer may be created by invoking the allocateDirect factory method of this class. The buffers returned by this method typically have somewhat higher allocation and deallocation costs than non-direct buffers. The contents of direct buffers may reside outside of the normal garbage-collected heap, and so their impact upon the memory footprint of an application might not be obvious. It is therefore recommended that direct buffers be allocated primarily for large, long-lived buffers that are subject to the underlying system's native I/O operations. In general it is best to allocate direct buffers only when they yield a measureable gain in program performance. 3 гига довольно долго выделялись на старте зато потом никто не пытался бессмысленно чистить пул массивов в несколько гигов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 19:21 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39270485&tid=1340592]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
185ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 565ms |

| 0 / 0 |
