реклама на сайте
подробности

 
 
> Начиная с какого объема памяти целесообразно использовать кучу?
BSVi
сообщение Jul 20 2011, 07:04
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 18-12-07
Из: Киев
Пользователь №: 33 391



Вот интересно мнение народа, начиная с какого объема памяти целесообразно использовать кучу в эмбеддед-прложениях? К примеру, выделяются мелкие строки по 20-50 символов, буфера по 256 байт, ну и мелкие структурки в десятки байт. Начиная с какого объема удается избежать фатальной фрагментации? Как вообще это рассчитывается?


--------------------
http://bsvi.ru/ - блог эмбеддера
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
AlexandrY
сообщение Jul 20 2011, 08:04
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(BSVi @ Jul 20 2011, 10:04) *
Вот интересно мнение народа, начиная с какого объема памяти целесообразно использовать кучу в эмбеддед-прложениях? К примеру, выделяются мелкие строки по 20-50 символов, буфера по 256 байт, ну и мелкие структурки в десятки байт. Начиная с какого объема удается избежать фатальной фрагментации? Как вообще это рассчитывается?


Вооще объем выделяемого не влияет на решение об использовании динамического выделения памяти.
Главное это качество движка того самого выделения, частоты выделения и соотношения резерва к общему объему выделяемого.

ИМХО но нужно иметь резерв раз в 10 больше того что в пределе может быть выделено.
Если частота выделения очень большая, например при парсинге пакетов по Ethernet, то стандартными движками выделения пользоваться уже нельзя, применяют выделенные движки с градациями сегментов фиксированных размеров.

Для парсинга конфигурационных структур, интерпретаторов и всяких скриптов динамическое выделение идет автоматом вне зависимости от размера элементов и там уже надо думать только о качестве движка динамического выделения.
Как-то было обсуждение и решили что наилучший движок по устойчивости к фрагментации будет: Two Levels Segregate Fit memory allocator (TLSF)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01335 секунд с 7
ELECTRONIX ©2004-2016