Closed rmlarsen closed 9 months ago
This is not the official OpenSTA repo, and is not even a fork of the official repo. per README.md OpenSTA does not solicit or accept external code contributions. I have already pushed a change that addresses this issue.
@jjcherry56 that's fine. I'd appreciate credit for diagnosing the issue as it is a fairly significant performance bug.
I have merged this in order to give you credit. I'll take care of any merge conflicts.
@maliberty cool. Thanks! FWIW, I think @jjcherry56's solution is simpler and should probably take precedence. I wasn't sure if that was safe to do.
This change speeds up the OpenRoad Gate Resizer tool by 35% for a circuit we care about. Passing a
std::shared_ptr
by value (and subsequently destroying the copy) is not free because it requires an atomic update to the associated reference counter.Bottom-up view before:
Bottom-up view after:
Flame graph before:
Flame graph after: