|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
(пожимая плечами) Ну давай. Начинай. Но инженерный подход в общем случае заключается в поиске и отборе существующих инструментов. И потом уже собственно в разработке того чего нет. Тыж не создаёшь свой собственный драйвер для принтера если надо 1 страничку распечатать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:54 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp пропущено... я это и сделал. Смотри, если очередь не выгребать, то НИКАКОЙ ПАМЯТИ не хватит. Очевидно? Да. У нас процесс продюсер будет работать быстрее чем консюмер. Но консюмер за 1 сутки должен подобрать то что продюссер наформировал за 1 час. (Это всё цифры приближенные. Не цепляйтесь к ним.) Можно абстрактно, можно считать память как сишники. Винда сбрасывает в своп когда память кончается? Почему MQ системы не подходят если ОЧЕРЕДЬ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Тыж не создаёшь свой собственный драйвер для принтера если надо 1 страничку распечатать? Ну, когда у меня был матричник я писал какой-то скрипт, который именно это и делал. Работало так: я выделял текст, нажимал шорткат и оно печаталось. Таким же образом делал "драйвер" для com сканера штрихкодов, ибо всё существующие было дерьмовыми дельфиподелками. mayton Ну давай. Начинай Всё, поздно. Я уже домой собираюсь. Можешь сделать ТЗ и описать подробнее что надо и под какие нагрузки, пока я доберусь до компа. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Почему MQ системы не подходят если ОЧЕРЕДЬ? MQ это не столько про очередь, сколько про доставку сообщений. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:00 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster PetroNotC Sharp Почему MQ системы не подходят если ОЧЕРЕДЬ? MQ это не столько про очередь, сколько про доставку сообщений. Разве не как в спринг.... Бери то что надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:09 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster mayton Тыж не создаёшь свой собственный драйвер для принтера если надо 1 страничку распечатать? Ну, когда у меня был матричник я писал какой-то скрипт, который именно это и делал. Работало так: я выделял текст, нажимал шорткат и оно печаталось. Таким же образом делал "драйвер" для com сканера штрихкодов, ибо всё существующие было дерьмовыми дельфиподелками. Ты - страшный человек Даже не могу представить как ты по работе проблемы решаешь. Всё - сам кодишь. Процент повторного использования кода для тебя ... наверное равен нулю ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
MQ системы обычно связаны с поднятием сетевых сервисов. У меня пока все локально. 1 процесс все делает. Поэтому поднимать еще MQ не вижу смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:30 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton MQ системы обычно связаны с поднятием сетевых сервисов. У меня пока все локально. 1 процесс все делает. Поэтому поднимать еще MQ не вижу смысла. А как с сортировкой? Либо fifo либо сортировка. Выбирай. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:32 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Не нужна мне никакая сортировка от слова вообще. Мне нужен FIFO. Но очередей будет несколько. И нужна очистка в случае всяких repeat-логик. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster Всё, поздно. Я уже домой собираюсь. Можешь сделать ТЗ и описать подробнее что надо и под какие нагрузки, пока я доберусь до компа. Нет никакого ТЗ. Есть пока только идея. Сейчас процессы синхронизированы и работают медленно. Я хочу их разнести в конвейер очередей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:46 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Но очередей будет несколько. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:49 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Я хочу их разнести в конвейер очередей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:50 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, По сути тебе нужно хранение сущностей на диске в виде двусвязного списка, таких инструментов не знаю, может в графовую БД запихать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:51 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Честно говоря, если делать велосипед, я бы делал что нибудь простое. Типа Circle Ring Buffer на диске. Chunk фиксированного размера (байтов 30-60). Большие записи разбивать на несколько chunk'ов и просто писать последовательно. Структура хранения будет тривиальная. Поскольку FIFO и Circle Ring Buffer то не будет фрагментации и все общение с диском исключительно последовательное - максимальная производительность на любом жетком диске. Объем кода для полноценной реализации, думаю пара сотен строк в максимуме. Недостаток и одновременно достоинство, место для хранилище нужно выделять заранее. Для пользовательского софта это был бы недостаток, для серверного достоинство. mayton Не нужна мне никакая сортировка от слова вообще. Мне нужен FIFO. Но очередей будет несколько. И нужна очистка в случае всяких repeat-логик. Про очистку не понял. Вообще, interface из первого поста на Queue совершенно не похож. Где Вы видели такие Queue, я вообще не понимаю ))) и что данный интерфейс должен делать - тоже ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:53 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
iOracleDev По сути тебе нужно хранение сущностей на диске в виде двусвязного списка , таких инструментов не знаю, может в графовую БД запихать? Зачем? 1. Банальный файл на диске и логика Circle Ring Buffer. в конец пишем, из начала читаем. 2. Если нужно удаление и random доступ к содержимому, то банальная табличка например в SQL Lite id, data Низ и верх / начало и конец / head tail FIFO очереди банально храним в самом классе. Т.ч. никаких сортировок или min/max не требуется Насколько я помню. Табличка в SQL Lite это физически Key-Value, NoSQL структура. Т.ч. даже даже дополнительный индекс primary key в случае SQL Lite будет не нужен ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:56 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, А я и не знал про редактирование)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:01 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
iOracleDev mayton, По сути тебе нужно хранение сущностей на диске в виде двусвязного списка, таких инструментов не знаю, может в графовую БД запихать? Зачем графовую? У меня нет графов? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:02 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Вообще, interface из первого поста на Queue совершенно не похож. Где Вы видели такие Queue, я вообще не понимаю ))) и что данный интерфейс должен делать - тоже ))) Ну... это так. Для затравки. Для старта дискуссии. Надож с чегото начать. Да он не совместим с стандартными очередями. Ну и фиг с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:04 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Leonid Kudryavtsev, А я и не знал про редактирование)))) Можно тактично послать собеседника а потом быстринько зачистить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:05 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
iOracleDev mayton, По сути тебе нужно хранение сущностей на диске в виде двусвязного списка, таких инструментов не знаю, может в графовую БД запихать? Хранение сущностей любого размера друг за другом. Без пропусков) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:06 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp Leonid Kudryavtsev, А я и не знал про редактирование)))) Можно тактично послать собеседника а потом быстринько зачистить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:08 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Реализация кольцевого есть где? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:11 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Что там "реализовывать" ? Можно конечно поискать в google.com, но честно говоря, интерес представляет не реализация (дабы ее любой школьник за час закодировать может), а оптимизация под конкретные условия работы а тут нужно знать эти самые условия, особой конкретики в топике нет из интересных обсуждений, использование circle ring buffer'а на диске для видеопередачи (видеокамера продюсер + пара видеоплееров консьюмеры) https://stackoverflow.com/questions/45869793/c-circular-buffer-using-large-disk-file/45870483 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:41 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
В теме с буферизацией видосов речь идет о записях фиксированного размера. Их легче поддерживать. Как арифметику указателей в С++ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 15:26 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Для вариативного размера... я пока придумал писать sequence из файлов. Типа Код: plaintext 1. 2.
И по кругу их использовать. Каждый файл приближенно до 128Мб. Что диск рационально утилизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 17:20 |
|
|
start [/forum/topic.php?fid=59&msg=39906135&tid=2120961]: |
0ms |
get settings: |
7ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
38ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
421ms |
get tp. blocked users: |
0ms |
others: | 294ms |
total: | 771ms |
0 / 0 |