| JavaUdaf |  | 0% |  | 0% | 26 | 26 | 97 | 97 | 18 | 18 | 1 | 1 |
| JavaUdtf |   | 38% |   | 25% | 16 | 24 | 36 | 81 | 11 | 18 | 0 | 1 |
| JavaUdf |   | 44% |   | 25% | 12 | 24 | 29 | 76 | 6 | 18 | 0 | 1 |
| PythonUdf |   | 52% |   | 33% | 13 | 24 | 30 | 82 | 8 | 18 | 0 | 1 |
| PythonUdtf |   | 53% |   | 25% | 14 | 24 | 23 | 87 | 8 | 18 | 0 | 1 |
| PythonUdtfBuilder |   | 7% |  | 0% | 20 | 21 | 28 | 33 | 7 | 8 | 0 | 1 |
| PythonUdaf |   | 68% |   | 43% | 13 | 26 | 17 | 103 | 6 | 18 | 0 | 1 |
| PythonUdfBuilder |   | 8% |  | 0% | 19 | 21 | 27 | 33 | 6 | 8 | 0 | 1 |
| JavaUdafBuilder |  | 0% |  | 0% | 20 | 20 | 31 | 31 | 8 | 8 | 1 | 1 |
| JavaUdfBuilder |   | 21% |  | 0% | 17 | 21 | 24 | 33 | 4 | 8 | 0 | 1 |
| JavaUdtfBuilder |   | 21% |  | 0% | 17 | 21 | 24 | 33 | 4 | 8 | 0 | 1 |
| PythonUdafBuilder |   | 8% |  | 0% | 19 | 20 | 26 | 31 | 7 | 8 | 0 | 1 |
| AliasUdfBuilder |   | 78% |   | 55% | 8 | 17 | 9 | 43 | 2 | 8 | 0 | 1 |
| AliasUdf |   | 81% | | n/a | 3 | 12 | 9 | 36 | 3 | 12 | 0 | 1 |
| AliasUdfBuilder.new ExpressionAnalyzer() {...} |  | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| UdfBuilder |  | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |