get_property
で返されるエレメント (文字列またはオブジェクト) のリストは、オブジェクトの入力リストに基づいて並べ替えられます。エレメントの数も同じになります。このプロパティは、複数リストに対して Tcl コマンドの foreach
で繰り返すことができます。
効率の悪いコード:
set cells [get_cells -hier -filter {...}]
foreach cell $cells {
set loc [get_property LOC $cell]
...
}
このコードの場合、get_property LOC $cell
コマンドが $cells
コレクション内のセルごとに実行されます。
効率的なコード:
set cells [get_cells -hier -filter {...}]
foreach cell $cells loc [get_property LOC $cells] {
...
}
このコードの場合、get_property LOC $cells
コマンドが 一度しか実行されないので、長いオブジェクトのリストの実行時間がかなり改善されます。これは、get_property
で返されたリストに Tcl リストの $cells
と同じ数のエレメントが含まれ、返されたエレメントが入力リストと同じ順番だからです。