You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请教kdb+中mmax函数时间复杂度及性能优化方案

关于kdb+中mmax函数时间复杂度的验证与优化咨询

实验背景与推测

我使用mmax函数计算长度为1000万的整数向量的移动最大值,重复运行10次统计总执行时间:

  • 窗口大小为22时,总耗时2425毫秒
  • 窗口大小为132时,总耗时15025毫秒,约为前者的6倍

由此推测mmax的时间复杂度为O(nw)而非O(n)(其中w为滑动窗口长度)。

同类产品对比实验

在具备内置分析功能的时序数据库DolphinDB中完成相同实验,结果显示其mmax函数无论窗口大小如何均保持线性复杂度O(n):

  • 窗口大小为22时,总耗时1233毫秒
  • 窗口大小为132时,总耗时1277毫秒

实验硬件配置

Server: Dell PowerEdge R630
Architecure: x86_64
CPU Model Name: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
Total logical CPU cores: 48
Total memory: 256G

实验环境设置

  • kdb+:4.0 64位版本,使用2核CPU运行
  • DolphinDB:Linux_V2.00.7(社区版:2核8GB内存),使用2核CPU运行

kdb+实现代码

// 启动服务器
rlwrap -r taskset -c 0,1 ./l64/q -p 5002 -s 2

// 测试代码
a:10000000?10000i
\t do[10; 22 mmax a]
2425
\t do[10; 132 mmax a]
15025

DolphinDB实现代码

// 启动服务器
rlwrap -r ./dolphindb -localSite localhost:5002:local5002 -localExecutors 1

// 测试代码
a=rand(10000,10000000)
timer(10) mmax(a,22);
1232.83 ms

timer(10) mmax(a,132);
1276.53 ms

咨询问题

恳请kdb技术专家确认mmax函数的时间复杂度,若其确实为O(nw),是否有第三方插件可优化其性能?

内容的提问来源于stack exchange,提问作者DanielSmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 13:11:14