📅 MemoryProject GC 설계 최종 요약 일지주제: "Moving GC"의 근본적 딜레마 분석, 모든 해결 방안의 기각, 그리고 "Compaction 포기" 최종 확정1. 🎯 공통된 핵심 난제: dummy (GC가 모르는 스택 복사본)모든 대화는 C++ Compaction GC의 가장 근본적인 문제인, 스택에 선언된 **'등록되지 않은 포인터'**가 갱신되지 않는 시나리오에서 시작되었습니다.문제 시나리오 (모든 대화의 공통 전제):RootPtr root = CreateObject(); // GC가 알고 있음ObjectPtr stackCopy = root; // GC가 모름!// Compaction 발생 시Compact(); // 객체 이동// 문제: stackCopy는 여전..
MemoryProject GC 설계 일지주제: 메모리 할당 모델 변경, 컴파일 방화벽 트레이드오프, 그리고 API 구조 최적화1. 메모리 할당 모델: "Binned" 폐기 및 "Bump Allocator" 채택객체와 Accessor의 메모리 배치 방식과 그에 따른 할당 전략을 재검토했습니다.기존 계획: UE 스타일의 Binned Allocator (고정 크기 풀) 사용.제기된 문제점:"근본적 모순": 우리가 선택한 [Accessor | T] 연속 블록 모델은 T마다 크기가 다른 '가변 크기(Variable Size)' 할당을 요구합니다. 이는 고정 크기 풀(Pool_32, Pool_64...)과는 구조적으로 호환되지 않습니다.논의된 대안:Next-Fit (순환 탐색): 빈 공간을 찾아 리스트를 순회함. ..
- Total
- Today
- Yesterday
- 페이징기법
- 모던 C++ 챌린지
- cmakelists
- RHI
- Reflection
- 외부단편화
- GameEngine
- 뮤택스
- 그래픽스
- 수학
- std::is_base_of
- C++
- 증명
- FloatingPoint
- 포인터
- void pointer
- cmake
- pointer
- logproject
- 로드리게스 회전 행렬
- GC
- 내부단편화
- MemoryProject
- 개발 일지
- void* pointer
- 메모리
- 보이드 포인터
- 세그먼테이션기법
- SFINAE #Template #C++
- RHICommand
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |