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

Всем привет! Ребят, посоветуйте структуру данных для хранения очень большого

списка доменных имён. Важна только скорость чтения. Мне в голову пришли стандартная хэшмапа и возможно деревья. Может еще что то посоветуете?

11 ответов

16 просмотров

В смысле важна скорость поиска? И на сколько большой список? И какой RPS тебя интересует? Имхо, хешмапа вполне нормально.

Mea Culpa- Автор вопроса

Да да, скорость поиска. Десятки миллионов доменов. По поводу RPS пока что сказать ничего не смогу.

Mea Culpa
Да да, скорость поиска. Десятки миллионов доменов....

Поиск для того, чтобы определить есть в списке или нет, или счетчик какой?

https://github.com/hashicorp/go-memdb

зависит от операций, которые нужно производить над структурой

Mea Culpa- Автор вопроса
Mea Culpa- Автор вопроса
Alexey Ermakov
зависит от операций, которые нужно производить над...

Основная операция - проверка на присутствие в списке

самое быстрое это хеш таблица, но у неё своих недостатков достаточно если ОЧЕНЬ большой объем данных (не помещается в озу) - пробабилистики всякие, типа блум фильтров/xor фильтров/не помню что там еще есть

Mea Culpa- Автор вопроса
Alexey Ermakov
самое быстрое это хеш таблица, но у неё своих недо...

спасибо, думаю в озу данные поместятся. По поводу хэшей да, есть опасения на большом обьёме данных

Mea Culpa
спасибо, думаю в озу данные поместятся. По поводу ...

если набор данных заранее известен, есть методы расчета т.н. perfect hash function но это не golang-way

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта