170 похожих чатов

Огромный лимит - это какой? В байтох

36 ответов

5 просмотров

Ну вот не написано. Может у него пара гигов может внезапно прилететь потенциально, хотя в среднем там всего ничего. Я б тоже, честно говоря, не хотел в таких условиях пару гигов тупо преаллоцировать под канал.

sexxst
Ну вот не написано. Может у него пара гигов может ...

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

Je
Так в этом и смысл не делать подобные решение изна...

Все мы живём в реальном мире. Может человеку уже вот с такими вводными на условный сокет в его сервис могут навалить задач и всё тут.

Daniel-Podolsky Автор вопроса
sexxst
Ну вот не написано. Может у него пара гигов может ...

ну давайте разберемся одна запись в канале - это 8 байт, указатель (можно иначе, но мы же экономим память, да?) сколько записей максимально вы хотите держать в очереди, чтобы эти 8 байт имели значение?

Daniel Podolsky
ну давайте разберемся одна запись в канале - это ...

Я не хочу. Автору может миллиард прилетит их. Да банально может он должен их дальше куда-то пересылать по сети и складывать у себя в памяти пока следующий сервис лежит.

sexxst
Все мы живём в реальном мире. Может человеку уже в...

Сокет тоже в цикле читать можно (и нужно). При этом клиент может ставить высокие таймауты, зная объем. Не делайте мифическую задачу задачей computer science, это мифическая задача без требований)

sexxst
Я не хочу. Автору может миллиард прилетит их. Да б...

Складывать у себя пока следующий сервис лежит это заявка на распределённую очередь

Je
Сокет тоже в цикле читать можно (и нужно). При это...

Ещё раз: я не говорю что это всё прямо идеально правильно. Я говорю что вопрос технически корректный и я могу представить реальные ситуации в которых такое может захотеться.

Daniel-Podolsky Автор вопроса
sexxst
Я не хочу. Автору может миллиард прилетит их. Да б...

для миллиарда надо уже durable очередь советовать (что и было сделано) поэтому вопрос о пиковом наполнении очереди - он ключевой для поиска ответа. но именно на этот вопрос наш друг отвечать отказался (потому, что он бы сказал - миллион, и я бы спросил в ответ, почему нельзя аллоцировать канал на 2 миллиона указателей, это всего 16MB памяти)

Daniel-Podolsky Автор вопроса
sexxst
Ещё раз: я не говорю что это всё прямо идеально пр...

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

sexxst
Ещё раз: я не говорю что это всё прямо идеально пр...

Я тоже могу себе представить миллион таких ситуаций. И в большинстве из них наилучшее решение будет другое (в го, по крайней мере)

Daniel Podolsky
для миллиарда надо уже durable очередь советовать ...

Он в качестве размера написал - сколько влезет в принципе до прихода OOM. Я это как потенциальные гигабайты расцениваю.

sexxst
Ещё раз: я не говорю что это всё прямо идеально пр...

Без циферок вопрос некорректный. Банально памяти может не хватить все положить в RAM и придется через буфер складывать на диск. Думали когда-нибудь почему вообще появилось поняите буфер?

sexxst
Ещё раз: я не говорю что это всё прямо идеально пр...

А какой вопрос то? Готовая либа, реализующая конкретный кейс?

sexxst
Он в качестве размера написал - сколько влезет в п...

В 540 гигабайт памяти влезет, ммм, 67 миллиардов указателей. Или 540 миллионов залоченных горутин

Viktor Shutov
удалось попасть в мейл?)

Это какая-то тонкая шутка, но я не понял)

Евгений Омельченко
Я тоже могу себе представить миллион таких ситуаци...

Да. Поэтому нормально отвечать "Вот такое есть например, хотя в целом подход некрасивый,лучше сделать вот так". А не кидаться какашками взаимно. В 99% таких случаев никто не дурак, просто все друг друга не поняли и все посчитали остальных дураками.

Aleksei Olshanskiy
Это какая-то тонкая шутка, но я не понял)

да просто спросил, ты наверное тоже собеседовался в мейл но я забыл

sexxst
Да. Поэтому нормально отвечать "Вот такое есть нап...

Кидаться какашкми и орать про computer science начали не мы) Решения очевидно нет, но чтобы выбрать из чего есть (nats, redis, amqp* и тд) нужно хотя бы масштабы понимать

Daniel-Podolsky Автор вопроса
sexxst
Он в качестве размера написал - сколько влезет в п...

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

Je
Без циферок вопрос некорректный. Банально памяти м...

Корректный. Я вижу конкретный вопрос с конкретным желанием нелимитированного буфера под очередь в памяти без преаллокации. Выделять пока не придет ООМ. Правильный подход или нет - вопрос десятый и тут нужно не писать в ответ лаконичное: "у вас всё неправильно!", а писать как дополнительное замечание "лучше было бы сделать вот так".

Daniel Podolsky
прямо огорчение какое-то 🙁 если мы хотим оценить ...

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

Daniel-Podolsky Автор вопроса
sexxst
Ну вот я написал вариант - нужно пересылать дальше...

тогда их можно просто дропать, правда? опять не нужна очередь...

Daniel Podolsky
тогда их можно просто дропать, правда? опять не ну...

Можно дропать да, но хотелось бы best effort по доставке сделать и не дропать пока есть вариант не дропать.

Daniel-Podolsky Автор вопроса
sexxst
Можно дропать да, но хотелось бы best effort по до...

и мы опять возвращаемся к вопросу - какого размера наш best effort. по любому, без этого ответа советовать что-то невозможно. и именно эттот ответ топикстартер решил зажать

Daniel Podolsky
и мы опять возвращаемся к вопросу - какого размера...

А сколько влезет в систему на момент возникновения такой ситуации, такого и размера. Можно этот лимит потом в конфиг вынести или через cgroups ограничить и ошибки аллокации обрабатывать по факту.

Daniel-Podolsky Автор вопроса
Daniel Podolsky
и? почему не буферизованный канал-то?

Потому что аллоцировать много памяти с мыслью "ну вот мало ли раз в год придется поскладывать данные в памяти" тоже такая себе затея.

sexxst
Потому что аллоцировать много памяти с мыслью "ну ...

Уж лучше переаллоцировать на ходу многократно. Гениально блин) (нет)

Daniel-Podolsky Автор вопроса
sexxst
Потому что аллоцировать много памяти с мыслью "ну ...

много - это сколько? коллега, вы, пожалуйста, воздержитесь от использования этого аргумента в четвертый раз, пока не ответите на этот вопрос

Daniel Podolsky
много - это сколько? коллега, вы, пожалуйста, воз...

16 гигабайт. Но нужны они потенциально раз в два года. А в норме очередь вообще пустая.

Daniel-Podolsky Автор вопроса
sexxst
16 гигабайт. Но нужны они потенциально раз в два г...

это на другой вопрос ответ. я спросил - сколько элементов в очереди в пике

Daniel Podolsky
это на другой вопрос ответ. я спросил - сколько э...

Допустим 500 миллионов в пике раз в два года потенциально. Но в нормальной ситуации обычно ноль.

Daniel-Podolsky Автор вопроса

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта