| applyRule(RelOptRule, HepRelVertex, boolean) |  | 0% |  | 0% | 17 | 17 | 48 | 48 | 1 | 1 |
| applyTransformationResults(HepRelVertex, HepRuleCall, RelTrait) |  | 0% |  | 0% | 16 | 16 | 45 | 45 | 1 | 1 |
| applyRules(HepProgram.State, Collection, boolean) |  | 0% |  | 0% | 18 | 18 | 40 | 40 | 1 | 1 |
| assertGraphConsistent() |  | 0% |  | 0% | 8 | 8 | 25 | 25 | 1 | 1 |
| matchOperands(RelOptRuleOperand, RelNode, List, Map) |  | 0% |  | 0% | 14 | 14 | 39 | 39 | 1 | 1 |
| tryCleanVertices(HepRelVertex) |  | 0% |  | 0% | 13 | 13 | 26 | 26 | 1 | 1 |
| addRelToGraph(RelNode, IdentityHashMap) |  | 0% |  | 0% | 12 | 12 | 31 | 31 | 1 | 1 |
| collectGarbage() |  | 0% |  | 0% | 11 | 11 | 31 | 31 | 1 | 1 |
| contractVertices(HepRelVertex, HepRelVertex, List, Set) |  | 0% |  | 0% | 10 | 10 | 28 | 28 | 1 | 1 |
| dumpGraph() |  | 0% |  | 0% | 4 | 4 | 26 | 26 | 1 | 1 |
| executeConverterRules(HepInstruction.ConverterRules, HepInstruction.ConverterRules.State) |  | 0% |  | 0% | 7 | 7 | 18 | 18 | 1 | 1 |
| buildFinalPlan(HepRelVertex) |  | 0% |  | 0% | 5 | 5 | 17 | 17 | 1 | 1 |
| getGraphIterator(HepProgram.State, HepRelVertex) |  | 0% |  | 0% | 7 | 7 | 9 | 9 | 1 | 1 |
| executeRuleClass(HepInstruction.RuleClass, HepInstruction.RuleClass.State) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| depthFirstApply(HepProgram.State, Iterator, Collection, boolean, int) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| HepPlanner(HepProgram, Context, boolean, Function2, RelOptCostFactory) |  | 0% | | n/a | 1 | 1 | 14 | 14 | 1 | 1 |
| doesConverterApply(ConverterRule, HepRelVertex) |  | 0% |  | 0% | 7 | 7 | 11 | 11 | 1 | 1 |
| executeCommonRelSubExprRules(HepInstruction.CommonRelSubExprRules, HepInstruction.CommonRelSubExprRules.State) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| getVertexParents(HepRelVertex) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| clearCache(HepRelVertex) |  | 0% |  | 0% | 4 | 4 | 13 | 13 | 1 | 1 |
| updateVertex(HepRelVertex, RelNode) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| collectGarbage(Set) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| executeRuleLookup(HepInstruction.RuleLookup, HepInstruction.RuleLookup.State) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| lambda$collectGarbage$1(HepRelVertex) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| executeEndGroup(HepInstruction.EndGroup, HepInstruction.EndGroup.State) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| assertNoCycles() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| clearRules() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| setRoot(RelNode) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| findBestExp() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| executeSubProgram(HepInstruction.SubProgram, HepInstruction.SubProgram.State) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| lambda$executeProgram$0(HepState) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| changeTraits(RelNode, RelTraitSet) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| executeBeginGroup(HepInstruction.BeginGroup, HepInstruction.BeginGroup.State) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| HepPlanner() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| executeRuleInstance(HepInstruction.RuleInstance, HepInstruction.RuleInstance.State) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| executeRuleCollection(HepInstruction.RuleCollection, HepInstruction.RuleCollection.State) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| executeMatchLimit(HepInstruction.MatchLimit, HepInstruction.MatchLimit.State) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| executeMatchOrder(HepInstruction.MatchOrder, HepInstruction.MatchOrder.State) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| executeProgram(HepProgram) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| HepPlanner(HepProgram) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| HepPlanner(HepProgram, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| clear() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| buildFinalPlan() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| executeProgram(HepProgram, HepProgram.State) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| onCopy(RelNode, RelNode) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| registerMetadataProviders(List) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addMaterialization(RelOptMaterialization) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setLargePlanMode(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setEnableFiredRulesCache(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getRelMetadataTimestamp(RelNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMaterializations() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getRoot() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isLargePlanMode() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| register(RelNode, RelNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| ensureRegistered(RelNode, RelNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isRegistered(RelNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |