powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хороший тон в программировании?
25 сообщений из 153, страница 5 из 7
Хороший тон в программировании?
    #39270207
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Azul C4 в общих словах описан на Хабре

https://habrahabr.ru/post/148322/
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270227
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы все про Delphi?Ок, теперь мы знаем название чудо костылей"Неучем родился - дураком помрёшь".
Башляешь пророкам ~130$ и получаешь возможность испольовать Hotspot или JRockit - на выбор.
"Ничего личного, чистый бизнес".

P.S. Вы бы или голову поднимали от своей песочницы или, таки, не брызгали слюной в разные стороны.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270292
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, я думаю этот анонимос - это наш-же мембер.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270372
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот более конкретна бумажка по этому "взрывному" мусорщику https://www.azul.com/files/c4_paper_acm1.pdf
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270401
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270408
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвы все про Delphi?Ок, теперь мы знаем название чудо костылей"Неучем родился - дураком помрёшь".
Башляешь пророкам ~130$ и получаешь возможность испольовать Hotspot или JRockit - на выбор.
"Ничего личного, чистый бизнес".

P.S. Вы бы или голову поднимали от своей песочницы или, таки, не брызгали слюной в разные стороны.

слюной брызгаешь пока только ты.

для меня вполне достаточно быть просто юзером Java приложений, вроде jenkins и прочих атлазианов, чтоб даже невооруженным взглядом видеть - как оно в мире Java все стабильно и качественно, и не лагает и не требует при случае жестких перезапусков.

для этого ведь не нужно быть особо грамотным, достаточно просто попробовать попользоваться, и слюну можно сэкономить, а не разбрызгивать ее на форумах популяризируя чудные костыли.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270413
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava0.1 сек для гигабайта? а если этот гигабайт лежит в swap на hdd?
Вот блог этого господина http://info.prelert.com/blog/java-garbage-collectors
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270450
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnojava0.1 сек для гигабайта? а если этот гигабайт лежит в swap на hdd?
Вот блог этого господина http://info.prelert.com/blog/java-garbage-collectors

там нет ничего про swapping, paging, ballooning - очень страшные и табуированные слова для каждого жава типо архитекта

страшно, страшно ониибыли далеки от народа со своей сурогатной jvm, от рождения не наученной правильной работе с любой ОС
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270462
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaтам нет ничего про swapping, paging, ballooning - очень страшные и табуированные слова для каждого жава типо архитекта

страшно, страшно ониибыли далеки от народа со своей сурогатной jvm, от рождения не наученной правильной работе с любой ОС
Ты... по принципу если болит или чешется - то надо непременно, обязательно свою боль и свои
синяки и струпья вывалить в этот несчастный форум?

Ну зачем ты сюда принtc ballooning ? Оно нам надо? Ну не летаем мы на виртуалках (к примеру).
Зачем нам сейчас ковырять твои гнойные язвы и слушать как ты стонешь и охаешь
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270473
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА вот более конкретна бумажка по этому "взрывному" мусорщику https://www.azul.com/files/c4_paper_acm1.pdf

График летенси сборщика мусора Go Runtime 1.6 сферического приложения в вакууме.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270483
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwa, чё такое Go Runtime 1.6 ?

Это GoLang? (Sorry)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270485
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Да. Он самый Go.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270489
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНу зачем ты сюда принtc ballooning ? Оно нам надо? Ну не летаем мы на виртуалках (к примеру).
Зачем нам сейчас ковырять твои гнойные язвы и слушать как ты стонешь и охаешь

гнойные язвы походу у тебя в голове. разве ты не знаешь, что в мире существует понятие виртуального хостинга, вроде EC2 или Azure?
да и современная инфраструктура предприятий в датацентрах давно уже заточена на управление ресурсами, ну там, live migrations, capacity on demand, все такое? ну молодец, живи в своем уютном селе дальше, на "сервере", стоящим под столом или в кладовке возле твого рабочего кабинета в здании бывшей столовой.

и в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти?

ну круууууть. ну мощааааа.... прогресс невиданный. верной дорогой идете, тогаищи :))
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270490
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava, походу это ты был анонимус выше?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270493
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwamayton,

Да. Он самый Go.
Положа руку на серде я уже потерял корень дискусси по поводу GC.
Но если мы будем обсуждать GC in General то ОК. Я согласен.

Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang
и их общие алгоритмы и подходы.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270498
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaи в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти?

Это не соответствует действительности.
Тот же Netflix тысячи своих джава поделок на EC2, Google запускает тысячи своих джава приложений на виртуалках и не жужжат.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270501
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwanojavaи в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти?

Это не соответствует действительности.
Тот же Netflix тысячи своих джава поделок на EC2, Google запускает тысячи своих джава приложений на виртуалках и не жужжат.

ты нечитатель? я же не говорил, что невозможно запускать. можно - и я даже написал вон выше как - отключаешь всякие балонинги, чотко, дерзко следишь чтоб виртуалки по использовани. памяти в сумме не превышали физическую оперативу хоста и вперед, чтоб не дай бог не в своп...

одно только останется спросить - а нафига тогда вообще виртуалки?

но то такое. настоящие жава архитекты таким вопросом не задаются - гугл же работает, верно? Ж)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270513
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonschwamayton,

Да. Он самый Go.
Положа руку на серде я уже потерял корень дискусси по поводу GC.
Но если мы будем обсуждать GC in General то ОК. Я согласен.

Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang
и их общие алгоритмы и подходы.
Форкнул http://www.sql.ru/forum/1221727/tyapnichnyy-idealnyy-sborshhik-musora
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270515
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaодно только останется спросить - а нафига тогда вообще виртуалки?
У виртуалок главный минус - тормозной I/O как с диском, так и по сети.
А плюсы в удобстве и простоте обслуживания, админу абсолютно ничего не надо знать об внутреннем устройстве, поэтому он быстро и просто может менять железо под виртуалкой.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270520
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonschwamayton,

Да. Он самый Go.
Положа руку на серде я уже потерял корень дискусси по поводу GC.
Но если мы будем обсуждать GC in General то ОК. Я согласен.

Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang
и их общие алгоритмы и подходы.
Возвращаясь к java.
В ввиду того, что

1) писатели всякого "миддлваре" на джаве (кассандра, и тп) додумались, что хранить данные своих колоночек/столбцов/очередей и тп в хипе, не очень хорошая идея.
2) тем, кому нужны какие-то вменяемые данные по лейтенси, тоже не особо наделяется на GC.
Большинство решений, которым нужно эффективное управление памятью, пишут это управление сами.
3) Перед тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится

Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270522
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я рискну предположить что продавцы VPS нас безпощадно наёб умалчивают по поводу
того какую оперативу они нам продают и как ее распределяют в датацентрах.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270533
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwaПеред тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится

Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо.
1) Я рискну предположить что сами по себе аллокации не страшны (работа стека это тоже аллокация в некотором смысле)
но страшны ссылки которые пережили 1-ю эпоху чистки. Работать без аллокаций вообще невозможно - это равносильно
отказу от работы со строковым типом данных. Везде где строки - будут аллокации.

2) По поводу тюнига сборки мусора. Нет ли здесь отсылки к разработкам LMAX? ЕМНИП из лекций по
неблокирующим очередям некто рассказывал что дескыть отключали вообще GC на сутки и при
этом утечки были так соптимизированы что в качесте уборки использовали просто ежесуточный
ребут сервера (нормальный график работы Лондонской биржи).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270561
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonschwaПеред тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится

Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо.
1) Я рискну предположить что сами по себе аллокации не страшны (работа стека это тоже аллокация в некотором смысле)
но страшны ссылки которые пережили 1-ю эпоху чистки. Работать без аллокаций вообще невозможно - это равносильно
отказу от работы со строковым типом данных. Везде где строки - будут аллокации.

От строк избавиться-то можно (самопильные оффхип строки кое-где используются), а от копирования байт при передаче на запись в файл/сокет уже не получится.

mayton2) По поводу тюнига сборки мусора. Нет ли здесь отсылки к разработкам LMAX? ЕМНИП из лекций по
неблокирующим очередям некто рассказывал что дескыть отключали вообще GC на сутки и при
этом утечки были так соптимизированы что в качесте уборки использовали просто ежесуточный
ребут сервера (нормальный график работы Лондонской биржи).
Это известный сценарий, когда _все_ создаваемые объекты "всегда умирают молодыми". Если у вас такое приложение, то можно выделять большой-большой массив объектов и его элементы переиспользовать т.к. размер старого поколения в вас не изменяется, то сборок старого поколения нет и вот у вас GC пауза порядка 5 ms и меньше в зависимости от интенсивности создания молодых объектов. Если же нет, то все становится намного интересней.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270750
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
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270861
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то для кешей и прочего можно память без 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 гига довольно долго выделялись на старте зато потом никто не пытался бессмысленно чистить пул массивов в несколько гигов.
...
Рейтинг: 0 / 0
25 сообщений из 153, страница 5 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хороший тон в программировании?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]