16+
Воскресенье
24 июня
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Средства и методы разработки

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Rst7  (26.05.2009 10:34) , в ответ на Изящная система управления памятью. [TLSF] (Two-Level Segregate Fit) Memory Allocator for Real-Time -> особенно интересна страница документации --> автор: Evgeny_CD
О(1) - это хорошо. Но долго :) Я последнее время делаю так - собственно malloc тащит заранее заготовленные (с логарифмическим шагом размеров) кусочки из связанных списков. mfree - соответственно возращает куски в эти списки. Это требует мало того, что 
минимум расходов по времени, так еще и минимум времени нахождения в состоянии lock (удаление и добавление производится в начало списка, это 3-4 комманды, проще даже банально запрещать прерывания, нежели плясать с примитивами синхронизации). А самый низкоприоритетный процесс неспешно переносит из большой кучи кусочки в списки заготовленных (или наоборот) для поддержания некоторого запаса. Т.е. тормоза начнутся при резком увеличении потребления кусочков (когда их вдруг не хватит, и придется запускать полновесный malloc из большой и медленной кучи). Минимизация таких тормозов достигается правильным выбором запаса. С другой стороны, прикрутить сей аллокатор к большой куче - это будет знатно. Надо плотненько раскуриться алгоритмами. Спасибо за ссылку.
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII