端口连接的代码优化

Rational® Rhapsody® 提供了一个选项来优化为端口连接生成的代码。在许多情况下,这可以提高应用程序的性能。
注: 此功能仅适用于 C++ 代码。

在模型中使用端口时,经常会出现相互连接的非行为端口的链(这些端口将调用从一端依次委派到另一端)。这将导致运行时性能欠佳,并且还使应用程序调试工作难以进行。

为了防止出现此类问题,您可以使用端口连接优化功能。使用此代码生成选项时,生成的代码将包含用于连接此类链任意一端的“快捷方式”。

在决定是否对端口使用连接优化功能时,请注意存在的不利影响。经过优化的代码将使性能提高,但也会使用更多的内存。

在使用此优化功能时,不会针对涉及下列端口类型的连接优化代码:

对端口连接优化功能的使用由下列属性控制:

控制端口连接优化代码的生成

端口连接优化代码由下列各项组成:

OptimizePortConnectors 属性通过提供下列可能的值来控制此代码的生成:

ActivateInComponent 值适用于可执行程序。对于库而言,此值适用于使用了库的组件不必了解是否使用了端口接头优化功能的情况。

在必须对跨组件连接进行优化的情况下,应使用 ActivateExternally 值。在还以手动方式初始化端口连接的情况下,此值也适用。

注: 如果组件中的端口之间没有链接,那么明显不需要经过优化的代码。但是,如果 OptimizePortConnectors 属性设置为除 NoOptimization 以外的值,那么将生成必需的基础结构代码,从而导致内存使用量增加。因此,如果有端口之间不存在链接的组件,请确保此属性设置为 NoOptimization。

控制要进行优化的端口连接

如果将 OptimizePortConnectors 属性的值设置为使用优化功能,那么通过设置布尔属性 CPP_CG::Port::IncludeInConnectorOptimization 的值,可以控制要进行优化的端口连接。

如果端口链包含将此属性的值设置为 False 的端口,那么将不会对该端口进行优化,但优化功能仍将用于该链中的其他端口连接。

定制端口连接优化代码

可以使用下列属性来定制端口连接优化代码,例如使用的宏的名称以及包括的头文件:


反馈