Repo Added
|
Files
873
|
Badge
README BADGES
|
github
Use Arc instead of Box for internal expression nodes in SymbolExpr (#14660) This commit updates the internal construction of the SymbolExpr struct use a reference counting pointer instead of a regular pointer to a heap allocated object. The way the binary tree gets constructed internally using a normal pointer results in a lot of a copies of elements on the tree. This creates a large performance overhead for the symbol expr as we end up copying and freeing elements on the binary tree a large amount. This was the root cause of the regression reported in #14653 as the expression that gets generated by the transpiler internally ends up adding a lot of elements to global phase expression and that results in a lot of memory allocation and deallocation overhead. By using a reference counting pointer instead of creating and freeing copies of the expressions on the tree we instead only keep a single copy and just increment or decrement the reference count. Fixes #14653 (cherry picked from commit 3b2600202)
48 of 71 new or added lines in 3 files covered. (67.61%)
35 existing lines in 4 files now uncovered.83036 of 94392 relevant lines covered (87.97%)
517210.68 hits per line
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
---|