포트 연결 코드 최적화

Rational® Rhapsody®에는 포트 연결을 위해 생성된 코드를 최적화하는 옵션이 포함되어 있습니다. 많은 시나리오에서 이 작업을 수행하면 애플리케이션의 성능이 향상될 수 있습니다.
주: 이 기능은 C++ 코드에만 사용할 수 있습니다.

포트가 모델에서 사용될 때 비동작 포트 체인이 서로 연결되어 한 쪽 끝에서 다른 끝으로 호출이 위임되는 경우가 종종 있습니다. 이로 인해 런타임 성능이 저하되고, 애플리케이션 디버깅도 더 어려워집니다.

이러한 문제점을 방지하기 위해 포트 연결 최적화 기능을 사용할 수 있습니다. 이 코드 생성 옵션을 사용하는 경우, 생성된 코드에는 이러한 체인 유형의 한 쪽 끝에 포트를 연결하는 "바로 가기"가 포함되어 있습니다.

포트에 대한 연결 최적화 기능을 사용할지 여부를 결정할 때 트래이드 오프가 있는지를 고려하십시오. 최적화된 코드는 성능을 향상시키지만 더 많은 메모리를 사용합니다.

이 최적화 기능을 사용할 때 다음 포트 유형과 관련된 연결에 대해서는 코드가 최적화되지 않습니다.

포트 연결 최적화 사용은 다음 특성으로 제어됩니다.

포트 연결 최적화 코드의 생성 제어

포트 연결 최적화 코드는 다음으로 구성됩니다.

OptimizePortConnectors 특성은 이 코드의 생성을 제어하며, 다음과 같은 가능한 값을 제공합니다.

ActivateInComponent 값은 실행 파일에 적합하지 않습니다. 라이브러리의 경우, 라이브러리를 사용하는 컴포넌트가 포트 커넥터 최적화의 사용 여부를 알아야 할 필요가 없는 경우에 적합합니다.

ActivateExternally 값은 상호 컴포넌트 연결이 최적화되어야 하는 경우에 사용해야 합니다. 또한 포트 연결이 수동으로 초기화되는 경우에도 적합합니다.

주: 컴포넌트의 포트 사이에 링크가 없는 경우에는 분명 최적화된 코드가 필요하지 않습니다. 그러나 OptimizePortConnectors 특성 값이 NoOptimization 이외의 값으로 설정된 경우, 필수 인프라 코드가 생성되므로 더 많은 메모리가 사용됩니다. 따라서 포트 사이에 링크가 없는 컴포넌트가 있으면 해당 특성이 NoOptimization으로 설정되었는지 확인해야 합니다.

포트 연결 최적화 제어

최적화를 사용하도록 OptimizePortConnectors 특성 값을 설정한 경우, CPP_CG::Port::IncludeInConnectorOptimization 부울 특성 값을 설정하여 최적화할 포트 연결을 제어할 수 있습니다.

특성 값이 False로 설정된 포트가 포트 체인에 포함되어 있는 경우, 해당 포트는 최적화에 포함되지 않지만 최적화는 체인에 있는 기타 포트 연결에 계속 사용됩니다.

포트 연결 최적화 코드 사용자 정의

포트 연결 최적화 코드를 사용자 정의하는 데 다음 특성을 사용할 수 있습니다(예를 들어, 사용된 매크로 이름 및 포함된 헤더 파일).


피드백