Memory Management

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

Similar Posts

  • Rhythm of War

    Анонс, штоли 🙂 Надеюсь, что скоро релизнемся. http://rhythmofwar.com Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • Путешествие в Питер

    Во вторник, 5.06.2007 в Питере выступали Linkin Park, а так как я давненько их люблю послушать, а на 3м курсе вообще был мегафанатом, то решил съездить с друзьями на концерт, и город посмотреть. Поезд в Питер идёт, почему-то целые сутки, хотя по трассе туда всего 1200 км. Но, к счастью, если едешь не один, то…

  • Возвращение

    Я снова вернулся к программингу псп 🙂 Все-таки есть какая-то прелесть в том, что некоторое время ты программишь на “языке высокого уровня”, когда не надо особо задумываться над скоростью выполнения программы и можно поизощряться в применении всяких паттернов и использовании стандартных библиотек. Но и в программинге псп тоже много интересного, например выжимание максимума из аццкого…

  • Новый Год

    Ура, праздники наконец-то отгремели и можно подвести некоторый итог 🙂 Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • OpenMP

    Попробовал тут, намедни, OpenMP (Open Multi-Processing – это набор директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с разделяемой памятью на языках C, C++ и Fortran). И, можно сказать, прозрел. Добавил в существующие исходники всего две строчки кода и время экспорта тестового фрагмента уровня уменьшилось почти в…

  • Последняя доводка перед новым техно-релизом

    До нового релиза осталось немного 🙂 Наконец закончил человеческую камеру, осталось пофиксить пару надоедливых багов и наконец залить воду – и можно будет релизить. Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit