[0702 발표] 푸터 생략하고 4바이트 아끼기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
메모리 관리 시스템 개발자, 메모리 할당 최적화에 관심 있는 프로그래머
핵심 요약
- 할당된 블록의 푸터 생략으로 4바이트 메모리 절약 가능
- 헤더에 '직전 블록 할당 여부' 비트 추가하여 병합 여부 판단
- 매크로 함수를 통해 헤더 비트 접근 및 갱신 로직 구현
섹션별 세부 요약
1. 메모리 절약 원리
- 할당된 블록은 병합 불가능하므로 푸터 정보 필요 없음
- 이전 블록의 할당 상태를 헤더에 비트로 추가하여 저장
- 4바이트 푸터 공간을 메모리 저장용으로 재사용 가능
2. 구현 방식
- 헤더에 1비트 추가 (1: 할당, 0: 가용)
- 매크로 함수 정의로 헤더 비트 접근/갱신 처리
- 병합 과정에서 이전 블록의 할당 상태를 비트 정보로 확인
3. 구현 복잡성
- 블록 할당/반환 시 다음 블록 헤더 갱신 필요
- 헤더/푸터 갱신 로직 추가로 구현 복잡도 증가
- 메모리 효율성 향상 대비 조금의 추가 복잡도 감수
결론
- 4바이트 절약을 위해 헤더에 비트 추가 및 매크로 함수 활용
- 메모리 효율성 향상이 중요한 시스템에서는 필수적 최적화
- 복잡도 관리가 어려울 경우 성능 프로파일링 후 선택적 적용 권장