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

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

36 ответов

24 просмотра

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

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 Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта