Featured image of post [Optimization(C++) 07] 임시 객체 제거

[Optimization(C++) 07] 임시 객체 제거

임시 객체 생성이 발생하는 패턴을 진단하고, 연산자 오버로딩·암시적 변환·연속 연산 등에서 임시를 제거하는 패턴을 다룹니다. 컴파일러 출력과 프로파일링으로 임시 비용을 확인하는 방법을 정리하며, 실무 적용 시 주의점과 대안을 제시합니다.

Featured image of post [Optimization(C++) 08] 템플릿/constexpr

[Optimization(C++) 08] 템플릿/constexpr

constexpr, consteval을 활용한 컴파일 타임 계산과 템플릿 기반 비용 제어 전략을 다룹니다. 런타임 오버헤드를 컴파일 타임으로 옮기고 인라이닝을 유도하는 패턴을 정리하며, 컴파일 시간·ABI 트레이드오프와 적용 기준을 제시합니다.

Featured image of post [Optimization(C++) 09] Modern C++ 기능

[Optimization(C++) 09] Modern C++ 기능

C++17/20/23의 성능 관련 기능인 ranges, concepts, modules 등을 정리합니다. 새 표준 기능의 비용·이점을 측정하고, Low-latency 코드에서의 활용 기준을 다루며, 컴파일러 지원과 마이그레이션 시 주의점을 제시합니다.

Featured image of post [Optimization(C++) 10] 코루틴 성능

[Optimization(C++) 10] 코루틴 성능

C++20 코루틴의 성능 특성과 오버헤드를 다룹니다. 코루틴 프레임 할당·저장/복원 비용, 컴파일러 최적화 한계를 정리하고, Low-latency 경로에서의 사용 기준을 제시하며, generator·task 패턴별 비용과 대안을 비교합니다.

Featured image of post [Optimization(C++) 11] 예외 처리 심화

[Optimization(C++) 11] 예외 처리 심화

zero-cost exception의 실제 동작과 noexcept 전략을 다룹니다. 예외 발생 경로와 정상 경로의 비용 차이, 예외 사양이 인라이닝·코드 생성에 미치는 영향을 마이크로벤치마크로 검증하고, 핫패스에서의 사용·회피 기준을 정리합니다.

Featured image of post [Optimization(C++) 12] 인라이닝 유도 기법

[Optimization(C++) 12] 인라이닝 유도 기법

코드 레벨에서 인라이닝을 유도하는 기법과 inline, __forceinline 등 활용을 다룹니다. 컴파일러 진단(Tr.03)과 연계해 인라이닝 실패 원인을 파악하고 핫패스 비용을 줄이는 방법을 정리하며, 코드 크기·디버깅 트레이드오프를 제시합니다.

Featured image of post [Optimization(C++) 13] std::variant/optional/expected

[Optimization(C++) 13] std::variant/optional/expected

타입 안전 유니온과 옵셔널 타입인 std::variant, std::optional, std::expected의 성능 특성과 오버헤드를 분석합니다. 포인터·공용체 대비 비용과 예외 없이 실패를 표현하는 패턴의 성능을 다루며, 메모리 레이아웃과 visit/if-let 비용을 정리합니다.

Featured image of post [Optimization(C++) 14] std::span과 뷰 패턴

[Optimization(C++) 14] std::span과 뷰 패턴

안전한 뷰 패턴으로 std::span, std::string_view 활용과 성능 이점을 다룹니다. 불필요한 복사·할당 없이 연속 메모리를 참조하는 방식과 API 경계에서의 사용 기준을 정리하며, 수명·null 처리 주의점과 대안을 제시합니다.

Featured image of post [Optimization(C++) 15] 람다 표현식 성능

[Optimization(C++) 15] 람다 표현식 성능

람다의 캡처 비용(by-value vs by-reference), 클로저 객체 크기·정렬, 인라이닝 가능성 등 성능 특성을 다룹니다. std::function과의 비교 및 콜백·알고리즘 전달 시 비용을 정리하고, 타입 소거 vs 템플릿 전달의 트레이드오프를 제시합니다.

Featured image of post [Optimization(C++) 16] Small Buffer Optimization

[Optimization(C++) 16] Small Buffer Optimization

SBO(Small Buffer Optimization) 패턴 상세와 std::function, std::any 등 타입 소거 타입의 내부 구조를 다룹니다. 작은 객체일 때 힙 할당을 피하는 메커니즘과 성능·ABI 영향을 정리하며, 버퍼 크기 선택과 이식성 주의점을 제시합니다.