zhuwenzhuang commented on PR #4803: URL: https://github.com/apache/calcite/pull/4803#issuecomment-4045351580
After default depth first iterator replaced by HepVertexIterator. LargePlanBenchmark:10000 takes 3.6s [10000 union (40000 rel nodes), large plan mode + rule cache + ARBITRARY match order]: 1. CPU Profiler Result 1.1.`fireRule(RelOptRuleCall ruleCall)` takes 70 % CPU. <img width="1391" height="468" alt="image" src="https://github.com/user-attachments/assets/e396ef92-1483-4ed4-a653-71ac05deb372" /> 1.2. garbageCollection's `removeEdge(V source, V target)` takes 23 % CPU. <img width="414" height="157" alt="image" src="https://github.com/user-attachments/assets/fd468817-f939-4938-8618-7159f7c8e78a" /> Memory Profiler Result: <img width="1373" height="416" alt="image" src="https://github.com/user-attachments/assets/957cbb5a-a6d9-4132-b657-b2d743464d2f" /> LargePlanBenchmark:100000 takes 68.741 s [400k rel nodes, same configuration] All perf result of LargePlanBenchmark: MatchOrder | UnionNum | NodeCount | RuleTransforms | Time (ms) -- | -- | -- | -- | -- ARBITRARY | 1,000 | 4,000 | 6,006 | 1,043 ARBITRARY | 3,000 | 12,000 | 18,006 | 1,306 ARBITRARY | 10,000 | 40,000 | 60,006 | 3,655 ARBITRARY | 30,000 | 120,000 | 180,006 | 13,040 DEPTH_FIRST | 1,000 | 4,000 | 6,006 | 347 DEPTH_FIRST | 3,000 | 12,000 | 18,006 | 1,068 DEPTH_FIRST | 10,000 | 40,000 | 60,006 | 4,165 DEPTH_FIRST | 30,000 | 120,000 | 180,006 | 12,898 BOTTOM_UP | 1,000 | 4,000 | 6,006 | 1,145 BOTTOM_UP | 3,000 | 12,000 | 18,006 | 10,152 TOP_DOWN | 1,000 | 4,000 | 6,006 | 1,193 TOP_DOWN | 3,000 | 12,000 | 18,006 | 8,074 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
