할당자

Programming/C++ & Unreal

메모리 파편화 + boost, tbb 도구

개요C++ 틱 베이스의 게임 서버에서 std::vector나 std::map을 매 초마다 수만, 수십만 회 생성하고 있는데 N시간이 지나면 이 코드에서 메모리 파편화(추정)가 심해져서 heap 할당 시에 CPU 사용량은 낮아지고 모든 스레드가 직렬화되는 문제가 확인되었다. 위 문제를 해결하기 위해서 pooling, 할당자 관련 도구를 찾다가 간단하게 정리해 보려고 포스팅하였다. 도구 한 줄 정리boost object pool : 매우 큰 오브젝트 하나하나를 직접 다루기 좋은 도구.boost pool_allocator : boost object pool 기반으로 할당해 주는 기능.boost fast_pool_allocator : boost object pool 기반으로 할당해 주는 기능. 단일 스레드 앱에..