<aside> 💡
문제점 분석
</aside>
19656100 ← suggested heap size (제안 힙 크기, 드라이버가 사실상 무시)
7200 ← ID 개수(num_ids): ptr_<id> 슬롯의 최대 개수
14400 ← 작업 개수(num_ops): 아래에 이어질 총 요청 라인 수
1 ← weight (가중치, 사실상 무시)ㅁ
a X 4095 ← 작은 블록 #1 할당
a X+1 4095 ← 작은 블록 #2 할당 (대개 #1 바로 뒤에 배치됨)
f X ← #1 해제 → 인접 자유블록(아직 #2는 alloc)
f X+1 ← #2 해제 → 이제 #1·#2가 서로 인접한 자유블록 → 병합되어야 함
a X+2 8190 ← 방금 병합된 큰 자유블록을 써서 더 큰 블록 할당
f X+2 ← 큰 블록 해제
binary-bal.rep
클래스 경계 / 분할 품질: 448은 512에 가깝다 → 512를 잡아 **남기는 조각(512-448=64)**이 이후 64 요청에 쓸만한가?
스플린터(splinter) 발생 / 재사용성, **배치 정책(첫/넥스트/베스트)**의 적합성, 탐색 비용을 동시에 건드림.
Splinter : 할당을 위해 큰 가용 블록을 쪼갤 때 남는, 너무 작아서 제대로 쓰기 힘든 조각
binary2-bal.rep
coalescing-bal.rep
형태
a X 4095 ← 작은 블록 #1 할당
a X+1 4095 ← 작은 블록 #2 할당 (대개 #1 바로 뒤에 배치됨)
f X ← #1 해제 → 인접 자유블록(아직 #2는 alloc)
f X+1 ← #2 해제 → 이제 #1·#2가 서로 인접한 자유블록 → 병합되어야 함
a X+2 8190 ← 방금 병합된 큰 자유블록을 써서 더 큰 블록 할당
f X+2 ← 큰 블록 해제