🌈What's New In LiteFlow v2.15.2?
# 概述
LiteFlow v2.15.2 正式发布!
在这个版本中,我们专注于做了一件大事:将规则核心解析引擎从 QLExpress 3 全面升级至 QLExpress 4。
这次底层重构带来的直接收益是:LiteFlow 的规则编译速度更快了,部分场景性能实现了数倍的飞跃。
# 核心升级:拥抱 QLExpress 4
QLExpress 是 LiteFlow 底层规则的解析引擎,LiteFlow 依托于它构建了一套独特且强大的 DSL 语法体系。
当我们最初联系阿里 QLExpress 团队时,QLExpress 4 尚处于 Beta 阶段。但在得知 QL4 进行了大刀阔斧的底层重构后,我们感到非常兴奋——这意味着它将直接赋能 LiteFlow 的编译效率,并为未来探索更多高级特性打下坚实基础。
由于 QL4 是完全重构的版本,并不兼容 QL3,LiteFlow 团队进行了大量的适配开发与严苛测试。在此特别感谢 QL 团队成员的鼎力相助,帮助我们顺利完成了此次核心引擎的跨越式升级。
# 压测数据:性能质的飞跃
升级 QLExpress 4 后,我们对 LiteFlow 进行了一系列基准测试(Benchmark),对比数据如下:
| 测试指标 | QL3 版本 (旧) | QL4 版本 (新) | 提升幅度 |
|---|---|---|---|
| 执行阶段 TPS | 83,239 ops | 86,422 ops | 持平 |
| 编译阶段 TPS | 2,739 ops | 3,636 ops | 🚀 提升 32% |
| 上下文参数注入 | 55,826 ops | 222,625 ops | 🚀 提升 300% |
📝 压测环境说明:
- 工具: 采用 benchmark 框架,2 次预热,3 次执行取平均值。
- 执行/编译测试: 10 个组件 + 2 个脚本组件,模拟完整业务逻辑,无 IO 操作。
- 参数注入测试: 3 个组件,纯参数获取,无业务逻辑,无 IO 操作。
# 📊 数据解读
关于执行阶段:
为什么执行阶段 TPS 变化不大?这是因为 LiteFlow 仅在规则解析阶段依赖 QL 框架将表达式编译为类缓存。在真正的运行时,QL 框架并不介入。
但即便如此,大家可以看到,在单机无 IO 的基准测试中,LiteFlow 依然跑出了 8.6w+ TPS 的优异成绩。这再次印证了:大多数性能瓶颈通常源于业务侧的 IO,而非框架本身。
关于编译速度:
对于拥有海量规则(1w+)的系统,建议开启 liteflow.fast-load=true。实测表明,在最新的 v2.15.2 版本中,编译 20,000 条规则仅需 5.5 秒。
关于参数注入(本次最大亮点):
本次升级中,“上下文参数注入 & 表达式获取参数”的性能提升高达 300%!
这虽然是一个相对高级的特性,但对于有多上下文、公共组件抽取需求的开发者来说,这是一个杀手级的优化。它让组件与上下文真正意义上实现了脱钩和解耦。
# 平滑升级,无感兼容
虽然底层引擎发生了剧变,但我们承诺:此次升级完全向下兼容。
开发者无需修改任何一行代码,只需升级版本号即可享受性能红利。我们通过 2000 多个自动化测试用例,严格保证了版本的稳定性。
# 另外:为 LiteFlow 打 Call
LiteFlow 已入围 Gitee 2025 最受欢迎开源软件 投票活动,目前在基础软件赛道暂列 第三名。
投票将于 1 月中旬截止。如果您觉得 LiteFlow 对您有帮助,恳请投出您宝贵的一票!


