跳到主要内容

动作存储、执行与调试

一、统一 基础动作/触发规则/组合动作的数据存储结构

2.0 全面统一了基础动作/触发规则中的快捷动作/组合动作的整体数据存储结构。

动作不再按照动作页方式保存

二、全新自研表达式引擎QkEval

功能优化

支持更多的c#语法

更强的诊断能力

表达式执行失败时,QkEval 会尽量提供:

  • 出错原因
  • 出错的表达式片段
  • 对应的行号和列号
  • 暂不支持的语法类型
  • 解析错误与执行错误的区别

即使表达式经过了兼容转换,错误位置也会尽量映射回用户最初输入的代码,方便在表达式编辑器中快速定位问题。

性能优化

场景ZQkEvalQkEval 优势
简单算术8.438 µs / 4857 B0.540 µs / 320 B约快 15.6 倍,少分配 93%
120 个变量仅读 2 个29.252 µs / 28035 B0.299 µs / 272 B约快 98 倍,少分配 99%
链式成员访问7.421 µs / 4785 B0.849 µs / 528 B约快 8.7 倍
条件与字符串方法7.579 µs / 4865 B1.729 µs / 952 B约快 4.4 倍
LINQ 100 元素11.044 µs / 5627 B5.626 µs / 1424 B约快 2 倍,少分配 75%
200 条冷表达式151.286 µs / 33238 B8.504 µs / 2966 B约快 17.8 倍
5 条混合表达式38.889 µs / 28948 B7.230 µs / 3784 B约快 5.4 倍

三、全新结构化调试功能

四、全新组合动作模块