SSO
2025. 3. 26. 17:29ㆍC++
SSO(Small String Optimization)
std::string이 짧은 문자열을 저장할 때 힙 할당을 피하고 내부 버퍼(Stack 또는 inline buffer)를 사용하여 저장하는 최적화 기법
보통 15자 이하의 문자열 + NULL(컴파일러 및 구현에 따라 다름)은 힙을 사용하지 않고 스택(Stack)에 저장
동적 할당을 피해서 속도를 높이고, 메모리 사용을 줄임.
- 장점
성능 향상 : 동적 할당을 피해서 빠름
메모리 절약 : 짧은 문자열은 추가적인 힙 할당 없이 std::string 내부에서 해결
캐시 친화적 : 스택을 사용하므로 CPU 캐시에 적중할 가능성이 높아 속도가 빠름.
- 단점
SSO 버퍼 크기 제한 : 특정 크기(15자) 초과 시 힙 사용.
C++ 표준에서 강제되지 않음: 모든 컴파일러에서 적용되는 것은 아님(하지만 대부분 모든 구현에 사용).
'C++' 카테고리의 다른 글
참조자(Reference) (0) | 2025.03.27 |
---|---|
union (0) | 2025.03.26 |
소멸자(destructor) (0) | 2025.03.26 |
힙 / 스택 (0) | 2025.03.25 |
cin (0) | 2025.03.21 |