C++
[C++] 메모리 오버헤드 줄이기
쿼카만지고싶어요
2024. 12. 15. 21:14
1. 람다 식에서 캡쳐를 사용할때, this를 캡쳐하는것이 아닌 필요한 변수들만 캡쳐하기.
2. 구조체를 생성할때 메모리 작은 순으로 정렬하여 구조체 패딩 줄이기
ex)
struct k{
char k; // 1바이트
int k; // 4바이트로 8바이트를 만들기 위해 3바이트 패딩 발생
char k; // 1바이트
}
=>
struct k{
char k; // 1바이트
char k; // 1바이트
int k; // 4바이트로 작은 순서대로 정렬
}
3. 가상 함수 사용 줄이기
- 가상 테이블이 선언 되면 vtable 8바이트의 메모리 공간이 사용됩니다.
4. 동적 할당 메모리 사용 줄이기
- new로 동적 할당 되면, 추가 관리 정보를 위해 16바이트 이상의 메모리 공간을 사용합니다. 스택 메모리를 적극 사용해서 힙 메모리에 할당을 줄이는것이 좋습니다.