오브젝트 풀

    현재 적용할 메모리 풀

    기존 오브젝트 풀 개선 https://jartlife.tistory.com/59 메모리 풀, 오브젝트 풀 개념 힙 메모리 단편화 힙 단편화( heap fragmentation ), 메모리 단편화( memory fragmentation )이라 부르는 이 현상은 객체를 자주 동적할당할 때 발생한다. 메모리들이 직렬화되어 전부 붙어있으면 좋겠지만, jartlife.tistory.com 이전 게시글의 오브젝트 풀을 개선하여 이번 프로젝트에 쓸 메모리 풀을 만들었다. 커스텀 삭제자를 지정한 유니크 포인터를 통해 자동 반납을 구현했다. 객체 생성자의 호출 시점을 할당 시점으로 옮기고, 소멸자의 호출 시점을 반납 시점으로 옮겼다. alloc은 생성자로 인자를 전달하므로 기본 생성자가 없거나 생성자 종류가 여러 개인 ..

    메모리 풀, 오브젝트 풀 개념

    힙 메모리 단편화 힙 단편화( heap fragmentation ), 메모리 단편화( memory fragmentation )이라 부르는 이 현상은 객체를 자주 동적할당할 때 발생한다. 메모리들이 직렬화되어 전부 붙어있으면 좋겠지만, 힙 메모리에서는 메모리들이 붙어있다고 장담할 수 없다. 할당되는 메모리 조각들은 서로 거리가 있는 편이다. 어쩌다가 연속된 메모리들이 있어도 중간에 메모리를 삭제해버리면 그 사이에 원래 있던 메모리 만큼의 틈이 발생하게 된다. 힙 메모리 단편화로 인해 빈 메모리가 자주 발생해버리면, 실제 메모리 크기에는 여유가 있지만 특정한 크기의 객체를 할당할 수 없는 일이 발생한다. 빈 메모리 총합은 10000 byte 지만 모든 빈 메모리가 1000 byte 이하일 경우, 2000 b..