OpenSTA icon indicating copy to clipboard operation
OpenSTA copied to clipboard

Speed up a loop in findCrpr

Open RRozak opened this issue 2 years ago • 0 comments

This is done by:

  • inlining a call of clkPathPrev(Vertex *vertex, int arrival_index)
  • removing redundant conditions
  • returning the result of clkPathPrev(const PathVertex *path, PathVertex &tmp) only by reference

This loop is repeated over 500 million times in case of black_parrot design. The changes mentioned above give ~3.5% performance gain on grt stage. I compared the times of 10 runs of grt stage only:

Without my changes With my changes
11:55.64 11:32.40
11:53.50 11:31.19
11:52.95 11:30.97
11:54.99 11:23.12
11:42.94 11:15.42
11:51.53 11:19.78
11:54.56 11:31.04
11:51.72 11:34.29
11:56.03 11:31.32
11:51.72 11:25.89

RRozak avatar Jan 09 '24 11:01 RRozak