| GeneratedPlanPatterns |   | 15% |   | 1% | 555 | 624 | 667 | 798 | 407 | 474 | 0 | 1 |
| GeneratedMemoPatterns |   | 19% |   | 4% | 534 | 624 | 633 | 798 | 386 | 474 | 0 | 1 |
| GeneratedPlanRelations |  | 0% | | n/a | 2 | 2 | 135 | 135 | 2 | 2 | 1 | 1 |
| MemoPatterns |   | 23% | | n/a | 24 | 34 | 38 | 60 | 24 | 34 | 0 | 1 |
| PlanPatterns |   | 34% | | n/a | 19 | 32 | 27 | 58 | 19 | 32 | 0 | 1 |
| ParentTypeIdMapping |  | 0% |  | 0% | 8 | 8 | 17 | 17 | 5 | 5 | 1 | 1 |
| Pattern |   | 78% |   | 65% | 19 | 53 | 12 | 70 | 4 | 23 | 0 | 1 |
| ExpressionPatternRules |   | 65% |   | 81% | 5 | 19 | 14 | 44 | 1 | 5 | 0 | 1 |
| ExpressionPatternTraverseListeners | | 40% |  | 15% | 7 | 10 | 13 | 22 | 0 | 3 | 0 | 1 |
| ExpressionPatternTraverseListeners.CombinedListener | | 10% |  | 16% | 6 | 7 | 12 | 13 | 3 | 4 | 0 | 1 |
| PatternDescriptor |  | 76% | | n/a | 2 | 15 | 8 | 30 | 2 | 15 | 0 | 1 |
| GroupExpressionMatching.GroupExpressionIterator |  | 96% |   | 81% | 14 | 43 | 5 | 73 | 0 | 5 | 0 | 1 |
| ProxyPattern | | 62% | | n/a | 2 | 4 | 2 | 6 | 2 | 4 | 0 | 1 |
| TypeMappings |  | 97% |  | 92% | 3 | 20 | 1 | 41 | 1 | 6 | 0 | 1 |
| MatchingContext | | 85% | | n/a | 1 | 2 | 1 | 9 | 1 | 2 | 0 | 1 |
| GeneratedExpressionRelations |  | 99% | | n/a | 1 | 2 | 1 | 131 | 1 | 2 | 0 | 1 |
| GroupMatching |  | 96% |  | 85% | 3 | 9 | 1 | 18 | 1 | 2 | 0 | 1 |
| PatternMatcher |  | 100% | | n/a | 0 | 4 | 0 | 14 | 0 | 4 | 0 | 1 |
| PatternMatcher.new Rule() {...} | | 100% |  | 87% | 1 | 6 | 0 | 10 | 0 | 2 | 0 | 1 |
| TypePattern | | 100% | | n/a | 0 | 4 | 0 | 8 | 0 | 4 | 0 | 1 |
| PatternType | | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 | 0 | 1 |
| Patterns | | 100% | | n/a | 0 | 3 | 0 | 3 | 0 | 3 | 0 | 1 |
| GroupExpressionMatching | | 100% | | n/a | 0 | 2 | 0 | 5 | 0 | 2 | 0 | 1 |
| SubTreePattern | | 100% |  | 75% | 1 | 4 | 0 | 4 | 0 | 2 | 0 | 1 |