Vladimir
@Barty4 одна из претензий к Go в том что gc сделан по самому простому варианту из возможных
Vladimir
Anonymous
Anonymous
Ты об этом?
Anonymous
Я читал об этом у IBM
Vladimir
@Barty4
https://www.youtube.com/watch?v=q1h2g84EX1M
Anonymous
Vladimir
так лучше сразу
Anonymous
Да, ты прав, сейчас погляжу
Vladimir
хороший такой rant про GC в гошечке
Anonymous
Есть что-то похожее у тебя в «арсенале» про GC у Node.js?
Vladimir
Vladimir
и nodejs для меня это та хрень которая с creative cloud прилетела и жрет 100% цпу если ты запускаешь апдейт фотошопа
Vladimir
почему-то
Anonymous
Vladimir
ничего не знаю, в моем мире это какая-то непонятная фигня )
Vladimir
и пока это положение вещей я менять не хочу
Anonymous
(Шутка)
Anonymous
так-то хочу свалить на Го
Vladimir
у Го кстати не generational gc :)
Anonymous
СовтСерв зовет
Anonymous
Отсобешусь, скажу потом, что спрашивали хоть
Anonymous
Vladimir
я не знаю, что это, увы
упрощенно - мы можем сканить всю память (как делает Го), а можем начать делить наши объекты по возрасту на поколения и сканировать с разной частотой разные поколения.
Anonymous
это я знаю
Anonymous
Ага
Anonymous
Есть же две гипотезы
Anonymous
о времени жизни
Vladimir
@Barty4 вот Го CMS обычный
Anonymous
Да-да-да
Anonymous
читал Философию Джавы и смотрел Шепелева доклаж
Vladimir
в жабе сейчас есть и CMS и G1 - G1 - generational
Vladimir
еще гошники sweep уносят в background
Vladimir
по сути
Vladimir
поэтому если ты нагенерировал много (вот прям очень много) мусора, то ты получишь веселости в виде "непйоми кто жрет 90% цпу"
Vladimir
если начнешь копаться - поймешь что на sweep
Vladimir
Vladimir
и ты это процессишь
Vladimir
оно нагенерит тебе мусора
Vladimir
и когда мусора много stop the world будет большой
Daniel
но единицы тысяч коннектов и десятки миллисекунд таймаута такого эффекта вызывать не должны, вообще-то
Vladimir
Vladimir
@onokonem просто нужно очень много мусора генерировать
Daniel
я, честно скажу, на своих тестах этого не видел. то есть - вообще не видел влияния gc на происходящее.
Daniel
да где же его взять-то, много-то? :)
Daniel
результаты чего?
Daniel
и почему, раз так, ты не используешь пул объектов?
Daniel
да лана
Vladimir
@onokonem я тебе видео выше тоже рекомендую посмотреть. Пул работает вероятно не так как ты думаешь он работает
Vladimir
например sync.Pool периодически очищается
Daniel
честно сказать - я всегда свой собственный писал
Daniel
потому как если мне подходит генерализованный алгоритм - мне подходит gc
Vladimir
а sync.Pool нет
Daniel
Daniel
и их не может быть много
Daniel
ну просто неоткуда взяться
Daniel
в твоем да, но твой случай - классика "нам не подходят общие алгоритмы"
Daniel
в rtb этого всего нет, я же помню
Vladimir
Daniel
ну вот rtb, насколько я помню, как раз общий.
Daniel
там, действительно, можно получить ситуацию с бесконтрольным ростом хипа
Daniel
real time bidding. реклама. я два году этому дерьму посвятил
Vladimir
А, ну я про ртб сейчас не говорю
Daniel
а разговор начался с него :)
Vladimir
Хотя если касаться его, то там вообще Гц вреден в местах где критичен лейтенси
Daniel
вреден
Vladimir
И если вы пишите ртб на го или жабе, то что то явно пошло не так
Daniel
но я делал же dsp, который 10К запросов в секунду принимал, и gc на нем себя никак не проявлял