Memory Management

Вот и подошли вплотную к своему менеджеру памяти. Очень интересная задача оказалась – завраппить маллоки и operator new. Оказалось, что ничего мегасложного в этом нету, главное выделять память так, чтобы она была выравнена на правильные границы 🙂
Хотя то, что я сделал – это пока еще мелочь, дальше хуже – надо будет свой хип делать со всеми прилагающимися аттрибутами, хотя парочку интересных исходников мне подкинули, надо будет попробовать адаптировать тамошние идеи в наш код. Они даже круче чем ку2, на который я не перестаю молиться.
Суть заключается в том, что можно делать иерархический хип. Т.е. мы выделяем, например, большой фрейм, внутри которого создаем хип для маленьких временных объектов. Звучит не очень круто, но идея очень даже интересна.
Параллельно читаю Game Programming Gems 1 и изучаю “сделай свой профайлер”, надо бы такую штучку иметь в загашнике, поскольку те измерения производительности, которые мы делаем сейчас выглядят как-то топорно и не дают достаточного описания картины происходящего.