Большие игры, 50 разных аллокаторов на все случаи жизни. Сильно упрощает код. Часто в аллокатор все равно никто не ходит, чаще всего это один резерв, поэтому плевать на виртуальный вызов
Например арены. В том же protobuf свои арены я так думаю потому что у них memory_resource не было.
Плюс держу глобальный registry именованных memresource. Заворачиваю их в обычные propagated аллокаторы со static memory_resorce* mem = get_mem_resource("some-resource-domain"). Сами ресурсы просто прокси со счётчиками. Это позволяет в runtime видеть вообще все аллокации. Детализация на вкус, либо уровня "vector<int>" либо обобщенная типа "some-cache".
звучит почти так же круто как просто прогнать в профилировщике... )
Когда сервис в проме память уже сожрал поздно профилирование делать :)
по идее навешивать на каждую аллокацию мониторинг в проде это не шибко быстро...
Пару атомиков дёрнуть это и не сильно дорого.
Обсуждают сегодня