powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Очень большой TDictionary
14 сообщений из 64, страница 3 из 3
Очень большой TDictionary
    #39930231
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Чисто из любопытства: неужели у тебя в самом деле есть 10 миллиардов образцов и ты
принятый пакет среди них ищешь?..


10 точно нет, но до 1 млрд в пике может дойти
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930234
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в среднем 100 млн, но пиковая нагрузка сжирает вся ОП
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930244
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
каналы должны быть перманентно стабильными. Сколько будет стоить такой канал или несколько?

Цену оборудования 10GBit ты и сам можешь посмотреть (есть и бюджетные решения и дорогие), а вопрос стабильности в интранете, обычно, не стоит.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930267
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbдо 1 млрд в пике может дойти

И ты собрал статистику попадания чтобы утверждать, что распределение по этому миллиарду
равномерно?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930269
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
И ты собрал статистику попадания чтобы утверждать, что распределение по этому миллиарду
равномерно?
Это важно в контексте его вопроса?
Вопрос равномерного распределения - это не более чем вопрос выбранной хэш-функции.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930274
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, +/- равномерно
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930293
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatЭто важно в контексте его вопроса?

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

cptngrb+/- равномерно

Какого размера ключ и какой процент пришедших фреймов удовлетворяет поиску?

Если процент мал, а ключ велик, то можно в памяти держать только первые два-три уровня
дерева, а остатки уже на диске. Это удержит высокую скорость переработки пакетов без
пакости за счёт торможения подозрительных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930295
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
до 1 млрд в пике может дойти

cptngrb
в среднем 100 млн, но пиковая нагрузка сжирает вся ОП

Что-то не сходится. У тебя ОЗУ должно закончится уже на ~310 млн (а то и раньше).
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930296
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из 56 135 545 элементов найдено соответствий 51 745 976. Значит 92% используются сразу. Что сбрасывать на диск?
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930301
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbЧто сбрасывать на диск?

Всё. Оставить только то, что позволяет сразу сказать "пакет ок". Это в случае если "ок"
пакетов процентов 98.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930314
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey, 394 млн элементов в 50 ГБ укладывается, если без фантиков.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930443
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В любом случае вне зависимости от инструмента можно также попробовать TValue подсократить. Например, две TDateTime занимают 16 байт, но какой диапазон из них нужен? Если его можно уложить в 4 байта, можно сэкономить 8 байт. А если объявить запись packed, то также сэкономить на выравнивании. В сумме вместо 40 байт TValue съеживается до 26, что при миллиарде значений дает экономию в 14 Гб.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930473
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2, TDateTime можно и сократить до 4 байт, а вот о packet говорят производительность страдает, но можно потестить
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930619
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
Василий 2, TDateTime можно и сократить до 4 байт, а вот о packet говорят производительность страдает, но можно потестить

Отсюда не видно, как там у вас сравнение происходит, тч тестить не просто можно, а даже нужно. Тем более что это наипростейшая оптимизация (добавить всего одно слово + ребилд)
...
Рейтинг: 0 / 0
14 сообщений из 64, страница 3 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Очень большой TDictionary
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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