Page 273 - 《软件学报》2026年第3期
P. 273

1236                                                       软件学报  2026  年第  37  卷第  3  期



                             30
                             28     MySQL
                             26     MySQL+HybridJIT                              20.89
                             24                                         18.73             20
                             22                                15.48
                            Execution time (s)  18  −1.56  2.62                           10  Reduction in execution time (%)
                             20
                             16
                             14
                             12
                             10
                              8                                                           0
                              6    −8.44
                              4                                                           −10
                              2
                              0
                                     10        50      100      400      800     1 600
                                                         Data amount
                                                   图 6 混合编译测试结果

                  4.4   阈值  K  的选取与验证

                    如本文第    3.1.2  节所述, 阈值  K  是  JIT  编译决策的核心依据. 为了验证阈值      K  的合理性, 明确其临界范围并为
                 实际部署提供参考依据. 本节基于          TPC-H  基准测试框架, 通过动态调整        Q6  查询的复杂度与数据量, 系统化分析阈
                 值  K  的临界范围及其对性能的影响. 实验通过修改            Q6  的  WHERE  子句中的谓词表达式数量构造不同复杂度的查
                                                    5     7         N×M  乘积对  JIT  编译性能的边际效益.
                 询, 同时调整数据量使      N×M  的乘积覆盖    1×10  至  1×10 , 观测不同
                    如图  7  所示, 当   N×M  低于  3×10  时, JIT  编译因编译开销占比过高导致性能收益为负; 当         N×M  高于  3×10  时,
                                                                                                     6
                                             6
                 性能的提升趋于稳定, 这表明此时编译开销可被大规模数据处理的效率优势完全覆盖. 这一临界范围的确定为实
                 际部署提供了重要参考, 确保编译决策始终适配当前负载特征, 从而在保障稳定性的同时最大化                               JIT  编译的收益
                 边界.

                                        MySQL
                                800
                                        MySQL+JIT
                                700
                               Execution time (ms)  500
                                600

                                400
                                300
                                200
                                100
                                 0
                                      1×10 5  5×10 5  1×10 6  2×10 6  3×10 6  4×10 6  5×10 6  1×10 7
                                                            N×M value
                                                  图 7 阈值   K  的临界值决策

                  4.5   TPC-H  测试
                    本节将展示     TPC-H  基准测试的实验结果. 在第       4.2.1  节中已证明, 数据量的增大与       JIT  编译性能提升成正比.
                 因此, 本节固定    TPC-H  的比例因子为    4 (即  4 GB  数据), 重点分析在复杂  OLAP  类查询中启用     JIT  编译系统的性能
                 提升效果. 此外, 我们还将探讨在结合谓词下推的场景下, 查询条件的选择率对                      JIT  编译系统性能的影响.
                  4.5.1    谓词下推对  JIT  编译的影响
                    本节将展示     JIT  编译与谓词下推结合的效果. 如图         8  所示, 仅启用  JIT  编译即可使大多数查询的执行时间减
   268   269   270   271   272   273   274   275   276   277   278