Можете набросать формат вашего нода в виде C структуры, которая займет 25 байт?Tarasik wrote:Хорошо, 256 Гб.crypto5 wrote:У вас только указатель на нод на 64битной архитектуре 8 байт будет занимать, какие 5 байтов?Tarasik wrote:ХОтя даже если миллиард уникальных запросов то нам понадобится дерево из нод количеством равным количеству сумме количества символов в миллиарде запросов. Ну грубо 10 миллиардов. По 5 байтов на нод. 50 гигабайт. У меня на работе поместится - как раз 64 гб памяти.crypto5 wrote:Ну да, и если вдруг окажется что таких запросов миллиард вся ваша схема накрылась медным тазом.Tarasik wrote: Конечно менее встечаемые поиски не будут кодироваться так эффективно но экономия все равно будет.
Я как то недавно 100ГБбайтные файлы на своем лаптопе сортировал, часа 2-3 на файл уходит. Это на старом лаптопе с 8ГБ РАМ, он сортирует блоки по 8БГ а потом их сливает. Если компьютер будет с 256ГБ, то наверное даже быстрее будет.Тоже не так страшно. А как вы собрались это сортировать, считать count и брать топ от них на одном компьютере ? МР тоже займет неплохо времени для этого.
При этом у линукса сейчас sort многопоточный, а вам еще нужно будет попотеть что бы хорошо масштабируемое concurrent trie заимплементить.