Сообщение Re[2]: Менеджер памяти от 27.07.2021 17:52
Изменено 27.07.2021 17:57 TailWind
Re[2]: Менеджер памяти
С>Вам это наверное для какой-то более утилитарной задачи нужно?
Ничего сложного
Мне нужно сформировать файл на диске
Где для каждого ID от 0 до 0x5000000 хранится небольшой блок данных (от 0 до 80 байт, но может быть и больше)
Проблема в том, что блоки данных для каждого ID дополняются (увеличиваются) в случайном порядке
Скорость поиска и добавления должна быть максимальной
Что-то вроде обращения по индексу в массив
B-дерево не подходит
После завершения создания файла, больше ничего добавляться не будет
То есть промежуточные временные структуры (битмапы) можно хранить в памяти, а потом удалить
Ничего сложного
Мне нужно сформировать файл на диске
Где для каждого ID от 0 до 0x5000000 хранится небольшой блок данных (от 0 до 80 байт, но может быть и больше)
Проблема в том, что блоки данных для каждого ID дополняются (увеличиваются) в случайном порядке
Скорость поиска и добавления должна быть максимальной
Что-то вроде обращения по индексу в массив
B-дерево не подходит
После завершения создания файла, больше ничего добавляться не будет
То есть промежуточные временные структуры (битмапы) можно хранить в памяти, а потом удалить
Re[2]: Менеджер памяти
С>Вам это наверное для какой-то более утилитарной задачи нужно?
Ничего сложного
Мне нужно сформировать файл на диске
Где для каждого ID от 0 до 0x5000000 хранится небольшой блок данных (от 0 до 80 байт, но может быть и больше)
Проблема в том, что блоки данных для каждого ID дополняются (увеличиваются) в случайном порядке
Скорость поиска и добавления должна быть максимальной
Что-то вроде обращения по индексу в массив
B-дерево не подходит
После завершения создания файла, больше ничего добавляться не будет
То есть промежуточные временные структуры (битмапы) можно хранить в памяти, а потом удалить
---
Количество ID известно заранее
Вероятность что у ID блок данных умеет столько записей:
0 = 20%
1 = 40%
2 = 20%
3 = 10%
4 = 5%
5 = 2%
...
Ничего сложного
Мне нужно сформировать файл на диске
Где для каждого ID от 0 до 0x5000000 хранится небольшой блок данных (от 0 до 80 байт, но может быть и больше)
Проблема в том, что блоки данных для каждого ID дополняются (увеличиваются) в случайном порядке
Скорость поиска и добавления должна быть максимальной
Что-то вроде обращения по индексу в массив
B-дерево не подходит
После завершения создания файла, больше ничего добавляться не будет
То есть промежуточные временные структуры (битмапы) можно хранить в памяти, а потом удалить
---
Количество ID известно заранее
Вероятность что у ID блок данных умеет столько записей:
0 = 20%
1 = 40%
2 = 20%
3 = 10%
4 = 5%
5 = 2%
...