Пользовательский malloc для множества маленьких, блоки фиксированного размера?

Мне нужно выделить и освободить много фиксированного размера, маленьких (16 байтных) блоков памяти, в не фиксированном порядке. Я мог бы просто назвать malloc и free для каждого, но это, вероятно, будет очень неэффективно. Возможно, лучшим решением было бы вызвать malloc и free для больших блоков и обработать распределение внутри этих блоков.

Вопрос в том, как лучше это сделать?

Кажется, что это не должно быть очень необычным проблема или редкая проблема, и что она должна была быть «решена», но я не могу ничего найти. Есть какие-нибудь указатели?

Чтобы уточнить, я в курсе, что библиотеки пулов памяти и чего-то не существует, но они также принимают параметр размера. Если размер постоянен, rubyforge.org/) или TExp ( http://texp.rubyforge.org/ ). Эти библиотеки идеально подходят для того, что мне нужно, но мне нужно что-то в> .NET Framework.

Спасибо!

10
задан Peter 1 September 2010 в 22:47
поделиться