В общей куче, где распределения разных размеров смешаны, то из двух я бы пошел для размещения выделения в наименьшем блоке, который может вместить его (чтобы избежать уменьшения размера самого большого блока, который мы можем выделить, прежде чем мы надо).
Однако существуют и другие способы реализации кучи, которые могут сделать этот вопрос менее актуальным (например, популярный dlmalloc от Doug Lea - где он объединяет блоки одинакового размера для повышения скорости и уменьшения общей фрагментации). .
Какое решение лучше всего, всегда зависит от способа, которым приложение выполняет выделение памяти. Если вы заранее знаете шаблон приложения, вы сможете превзойти общие кучи как по размеру, так и по скорости.