| JavaUdaf |  | 0% |  | 0% | 28 | 28 | 99 | 99 | 20 | 20 | 1 | 1 |
| JavaUdtf |   | 38% |   | 25% | 18 | 26 | 38 | 83 | 13 | 20 | 0 | 1 |
| JavaUdf |   | 45% |   | 33% | 11 | 26 | 29 | 78 | 6 | 20 | 0 | 1 |
| PythonUdtf |   | 53% |   | 25% | 16 | 26 | 25 | 89 | 10 | 20 | 0 | 1 |
| PythonUdf |   | 67% |   | 58% | 9 | 26 | 23 | 84 | 5 | 20 | 0 | 1 |
| PythonUdtfBuilder |   | 20% |   | 25% | 14 | 18 | 22 | 33 | 6 | 8 | 0 | 1 |
| JavaUdfBuilder |   | 35% |   | 25% | 11 | 18 | 18 | 33 | 3 | 8 | 0 | 1 |
| JavaUdtfBuilder |   | 35% |   | 25% | 11 | 18 | 18 | 33 | 3 | 8 | 0 | 1 |
| JavaUdafBuilder |   | 24% |   | 27% | 13 | 17 | 20 | 31 | 6 | 8 | 0 | 1 |
| PythonUdafBuilder |   | 36% |   | 27% | 12 | 17 | 16 | 31 | 5 | 8 | 0 | 1 |
| PythonUdaf |   | 83% |   | 56% | 9 | 28 | 10 | 105 | 2 | 20 | 0 | 1 |
| PythonUdfBuilder |   | 48% |   | 35% | 11 | 18 | 15 | 33 | 4 | 8 | 0 | 1 |
| AliasUdfBuilder |   | 78% |   | 55% | 8 | 17 | 9 | 43 | 2 | 8 | 0 | 1 |
| AliasUdf |   | 87% | | n/a | 3 | 12 | 4 | 31 | 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 |