언리얼 엔진으로 클래스를 작성하다 보면 TMap을 사용하는 경우가 있다.처음에는 TMap이 해시 기반 컨테이너이고,탐색이 평균적으로 O(1)이기 때문에 당연히 빠른 컨테이너라고 생각했다.하지만 실제로는 항상 TMap이 빠른 것은 아니라고 한다.예를 들어 TArray는 메모리에 연속적으로 데이터를 저장하기 때문에 캐시 효율이 좋고,데이터 개수나 접근 방식에 따라서는 이론적인 시간 복잡도와 다르게 TArray가 더 빠를 수도 있다.그래서 TMap이 실제로 내부에서 데이터를 어떻게 관리하는지 궁금해졌다.이번 글에서는 TMap의 내부 구조를 이해하기 위해C++의 std::map과 비교하면서 두 컨테이너의 차이를 간단히 정리해보려고 한다.std::mapstd::map은 C++ 표준 라이브러리에서 제공하는 Key-..