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

У меня ограниченный фиксированный объем памяти на MCU, на котором я должен хранить некоторые объекты. Объем памяти очень мал, и я должен выделить всю память для хранения объектов в начале программы (я не могу использовать динамическое выделение памяти).

Каждый объект состоит из нескольких атрибутов, и мы можем добавлять или удалять любое количество атрибутов для любого объекта в любое время. Длина атрибутов является переменной, поэтому длина объектов может изменяться время от времени. Размер атрибута может изменяться при изменении этого атрибута.

Ключевой операцией над сохраненными объектами является поиск и чтение значений атрибутов.

Теперь я ищу лучший способ и лучшую структуру данных (быструю, мало метаданных, мало записей в память, небольшие накладные расходы на поиск), которая бы покрывала мою проблему.

Любая идея?

1 ответ

Это по-прежнему похоже на динамическое распределение памяти, вы можете написать облегченную версию malloc/free.

Если у вас есть какие-то предварительные знания о хранимом объекте, возможно, вы сможете соответствующим образом структурировать свою память, но в вашем вопросе кажется, что вы специально ищете алгоритм общего назначения.

Другие вопросы по тегам