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]

Reply via email to