Здравствуйте, Mr.Delphist, Вы писали:
MD>А зачем его бить нулями? Лишняя работа плюс убийство кэша CPU (разве что через DMA это лить, но тут уже сам себе Ржевский).
Как я понял, достаточно один раз сделать забивание, сразу после выделения. Так что к кэшмисам это не приведёт.
Здравствуйте, niXman, Вы писали:
X>под сабжем подразумеваю: X>1. буфера могут быть произвольного размера X>2. аллоцирование буфера(если свободных в pool`е нет) X>3. возврат буфера в pool X>4. выдача свободного буфера из pool`а по минимально необходимому размеру.
загляни в ядро. buddy system/slab allocator. Сделай то же на плюсах (и не забудь обмазать шаблонами как следует)
Здравствуйте, SaZ, Вы писали:
SaZ>Как я понял, достаточно один раз сделать забивание, сразу после выделения. Так что к кэшмисам это не приведёт.
да, в линуксах, насколько я знаю, ленивое выделение. поэтому, "забивание чем либо" форсирует реальное выделение.
и да, к кэшмисам это не приводит.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>Здравствуйте, Ip Man, Вы писали:
IM>>загляни в ядро. buddy system/slab allocator. Сделай то же на плюсах (и не забудь обмазать шаблонами как следует)
X>поясни, о чем речь?
алгоритм, который использует ядро Линукса для выделения физической памяти. Неплохо описан в книге Understanding the linux kernel