最佳化埠連線的程式碼

Rational® Rhapsody® 包含用來最佳化為埠連線產生之程式碼的選項。在很多實務練習中,這可改進應用程式效能。
註: 這個特性僅可供 C++ 程式碼使用。

當在模型中使用埠時,經常會發生以下情況:非行為埠的鏈結彼此相連,並且呼叫正從一端委派至另一端。這會造成執行時期效能較差,也會造成除錯應用程式更加困難。

若要避免此問題的發生,可以使用埠連線最佳化特性。當您使用這個產生程式碼選項時,產生的程式碼包含用來連接這種鏈結任一端埠的「捷徑」。

當決定是否使用埠的連線最佳化特性時,請考慮權衡利弊。最佳化的程式碼可提高效能,但同時也會耗用更多記憶體。

使用這個最佳化特性時,不會最佳化包含以下類型埠的連線程式碼:

下列內容可控制埠連線最佳化的使用:

控制產生埠連線最佳化程式碼

埠連線最佳化程式碼包括:

OptimizePortConnectors 內容控制這個程式碼的產生,並提供下列可能的值:

ActivateInComponent 值適用於可執行檔。針對程式庫,這個值適用於當使用程式庫的元件不需要知道是否使用了埠連接器最佳化這種情況。

ActivateExternally 值應該用於必須最佳化跨元件連線這種情況。 它還適用於當埠連線也進行手動起始設定這種情況。

註: 如果元件中的埠之間沒有鏈結,則表示明顯不需要最佳化程式碼。但是,如果 OptimizePortConnectors 內容值設為非 NoOptimization 值,則將產生必要的基礎架構程式碼,從而導致記憶體用量增加。因此,如果元件的埠之間沒有鏈結,請確定將內容設為 NoOptimization。

控制最佳化哪些埠連線

如果您將 OptimizePortConnectors 內容值設為使用最佳化,則可以透過設定布林內容 CPP_CG::Port::IncludeInConnectorOptimization 的值,來控制要最佳化哪些埠連線。

如果埠鏈結包含其內容值設為 False 的埠,則該埠不會併入最佳化,但最佳化仍將用於鏈結中的其他埠連線。

自訂埠連線最佳化程式碼

下列內容可用來自訂埠連線最佳化程式碼,例如,使用的巨集名稱及併入的標頭檔:


回饋