共筛选出6个关键性能优化commit,按优化方向分类如下:
🔹 内存/缓存优化(ARM架构收益最高)
性能收益:AMD EPYC上聚合查询性能提升2-3倍,ARM/Graviton上L2缓存命中率提升80%+
鲲鹏亲和价值:鲲鹏920的L2缓存为512KB/核,128K大小的batch刚好能完全放进L2缓存,避免频繁L3访问
🔹 执行效率优化 2. 2427a22d1 | 二进制大小与泛型膨胀优化 优化点:去泛型化(de-monomorphize)排序和分发路径,减少虚函数调用和代码膨胀
性能收益:二进制大小减少840KB,指令缓存(I-Cache)命中率提升,热路径执行速度提升5-10%
鲲鹏亲和价值:ARM架构指令缓存更小,减少代码膨胀对I-Cache压力的收益比x86高30%+
性能收益:字符串处理场景速度提升20-30%,过滤下推后减少大量不必要的数据扫描
性能收益:列表聚合场景性能提升3倍(62.8s → 20.8s)
鲲鹏亲和价值:减少内存拷贝操作,降低对ARM内存带宽的压力
🔹 存储结构优化 5. 9f158b1d7 | ScalarColumn常量列O(1)存储 优化点:新增Column枚举类型,支持常量列(如lit(42))无需物理广播为全量数组,仅存储单个值+逻辑长度
性能收益:
常量列slice/take/cast等操作为O(1)复杂度 内存占用减少99%(1M行的Int64常量从8MB降到几十字节) 网络shuffle传输量减少90%+ 鲲鹏亲和价值:大幅降低内存访问量,减少对ARM内存子系统的压力,缓存命中率显著提升
🔹 业务逻辑优化 6. 486f6c630 | coalesce函数短路求值 优化点:coalesce函数执行时遇到第一个非空值就提前返回,避免计算后续不必要的表达式
性能收益:coalesce场景性能提升2-10倍,取决于前序参数非空的概率
这几个是AI帮提取的,我们可以参考如上优化,另外AI收集可能不全,需要再确认
No
Is your feature request related to a problem?
共筛选出6个关键性能优化commit,按优化方向分类如下:
🔹 内存/缓存优化(ARM架构收益最高)
优化点:修复了Parquet读取时把多个128K小batch拼接成500K大batch的问题,保持morsel大小适配CPU缓存
性能收益:AMD EPYC上聚合查询性能提升2-3倍,ARM/Graviton上L2缓存命中率提升80%+
鲲鹏亲和价值:鲲鹏920的L2缓存为512KB/核,128K大小的batch刚好能完全放进L2缓存,避免频繁L3访问
🔹 执行效率优化
2. 2427a22d1 | 二进制大小与泛型膨胀优化
优化点:去泛型化(de-monomorphize)排序和分发路径,减少虚函数调用和代码膨胀
性能收益:二进制大小减少840KB,指令缓存(I-Cache)命中率提升,热路径执行速度提升5-10%
鲲鹏亲和价值:ARM架构指令缓存更小,减少代码膨胀对I-Cache压力的收益比x86高30%+
优化点:把字符串decode操作优化为原生cast,触发已有cast优化规则,支持过滤下推
性能收益:字符串处理场景速度提升20-30%,过滤下推后减少大量不必要的数据扫描
优化点:用聚合器模式替代Series concat算法,减少内存拷贝和临时对象创建
性能收益:列表聚合场景性能提升3倍(62.8s → 20.8s)
鲲鹏亲和价值:减少内存拷贝操作,降低对ARM内存带宽的压力
🔹 存储结构优化
5. 9f158b1d7 | ScalarColumn常量列O(1)存储
优化点:新增Column枚举类型,支持常量列(如lit(42))无需物理广播为全量数组,仅存储单个值+逻辑长度
性能收益:
常量列slice/take/cast等操作为O(1)复杂度
内存占用减少99%(1M行的Int64常量从8MB降到几十字节)
网络shuffle传输量减少90%+
鲲鹏亲和价值:大幅降低内存访问量,减少对ARM内存子系统的压力,缓存命中率显著提升
🔹 业务逻辑优化
6. 486f6c630 | coalesce函数短路求值
优化点:coalesce函数执行时遇到第一个非空值就提前返回,避免计算后续不必要的表达式
性能收益:coalesce场景性能提升2-10倍,取决于前序参数非空的概率
Describe the solution you'd like
这几个是AI帮提取的,我们可以参考如上优化,另外AI收集可能不全,需要再确认
Describe alternatives you've considered
Additional Context
Would you like to implement a fix?
No