This PR contains few optimizations related to BFS search:
setBfsInQueue(BfsIndex index, bool value) got replaced by two functions setBfsInQueue(BfsIndex index) and clrBfsInQueue(BfsIndex index). This removes the need for checking the set/clear argument.
Map is used instead of UnorderedMap for ArrivalMap. Since Map orders keys searching is quicker.
Assessment of introduced changes was done by running OpenROAD-flow-scripts CTS stage (multiple runs) on BlackParrot design with nangate45 PDK locally on an Intel(R) i7-8700 CPU @ 3.20GHz machine. Prior to the modifications the stage took about 248.4 seconds whereas with the modifications around 243.6 seconds
This PR contains few optimizations related to BFS search:
setBfsInQueue(BfsIndex index, bool value)
got replaced by two functionssetBfsInQueue(BfsIndex index)
andclrBfsInQueue(BfsIndex index)
. This removes the need for checking the set/clear argument.Map
is used instead ofUnorderedMap
forArrivalMap
. SinceMap
orders keys searching is quicker.Assessment of introduced changes was done by running OpenROAD-flow-scripts CTS stage (multiple runs) on BlackParrot design with nangate45 PDK locally on an Intel(R) i7-8700 CPU @ 3.20GHz machine. Prior to the modifications the stage took about 248.4 seconds whereas with the modifications around 243.6 seconds