NDC 2019의 강연 내용을 보고 정리한 내용이다.
캐시 적중률을 높이기 위해 고안된 모델, 메모리 상에 데이터를 선형으로 배치해 공간 지역성 최대화를 통해 캐시 적중률을 높인다.
Entity : 인덱스(Integer), 컴포넌트를 논리적으로 묶는 역할만 한다.
Component : 데이터 보관을 담당, 구조체로 구현, 멤버는 값형식만 가능, 가비지 컬렉터에 관리되지 않는다.
System : 컴포넌트에 보관된 데이터를 처리
Archetype : 컴포넌트를 조직화, 컴포넌트 배열을 모아놓은 것, 이 배열의 인덱스가 같은 원소들이 하나의 Entity를 구성. System은 Archetype에 쿼리. Entity의 구조가 변경되었을 경우, 메모리 이동이 발생.
Chunk : 실제로 물리메모리에 저장되는 형태, 16KB 고정 크기, 컴포넌트 삽입/삭제 비용 최소화를 위해 연결 리스트로 구성