CS

[CS] RVO

programmer-faust 2025. 9. 5. 14:02
  • 순서
    1. RVO란?
    2. RVO의 작동방식
    3. RVO의 이점
    4. NRVO
  • RVO란?
    1. C++같은 프로그래밍 언어에서 함수가 객체를 반환할 때 발생하는 불필요한 복사 생성자 또는 이동 생성자 호출 작업을 제거하는 컴파일러 최적화 기법임.
    2. 리턴할 객체를 호출자의 메모리 공간에 직접 생성해버리는 방식.
  • RVO의 작동방식
    1. 임시 객체 생성 및 복사/이동 생략
    2. 컴파일러 최적화
  • RVO의 이점
    1. 성능 향상: 객체 복사 및 이동은 비용이 많이 드는 작업일 수 있는데, RVO는 이러한 작업을 생략하여 프로그램 실행 속도를 높임
    2. 코드의 투명성: 개발자는 RVO를 직접 구현할 필요 없이 컴파일러에게 맡길 수 있어, 효율적인 코드를 작성하는데 집중할 수 있
  • NRVO
    1. Named Return Value Optimization으로 함수 내에서 이름을 가진 지역 객체를 반환할 때도 동일한 최적화가 적용되는 것

'CS' 카테고리의 다른 글

[CS] TCP/UDP  (0) 2025.09.03
[CS]뮤텍스와 세마포어  (3) 2025.08.28
[CS]리틀 엔디안과 빅 엔디안  (1) 2025.08.28
[CS]스택 오버 플로우  (2) 2025.08.28
[CS]busy-waiting  (3) 2025.08.28