Univer Rust 公式引擎性能实测:百万级公式,服务端运行

Univer Rust 公式引擎性能实测:10 份工作簿覆盖条件统计、跨表预算与预测模型,展示近 200 万公式节点的服务端计算表现,并提供 Excel、LibreOffice 对照结果与样张下载。

Univer Rust 公式引擎为 Univer Office SDK 提供服务端电子表格计算能力,支持批量处理、报表生成和 Agent 自动化。电子表格承载着预算、预测和业务规则;当公式规模增长到几十万、上百万,计算能力也成为应用的重要基础。

我们选取 10 份工作簿,覆盖重复公式、条件统计、跨表预算和预测模型。其中三个结果,展示了这套引擎可以处理的业务规模:

  • 近 200 万公式节点:12.29 秒完成原生加载与全量计算。
  • 54 张工作表的项目预算:1.27 秒。
  • 销售 COUNTIFS 条件统计:3.54 秒。

10 份工作簿的实测表现

Rust 计入原生快照加载与全量计算,不含 XLSX 转换;Excel、LibreOffice 计入原 XLSX 打开与全量重算。

单位秒,越低越快;横轴为对数刻度。

完整结果与样张下载

点击样张名称,可下载原始 XLSX,查看对应的业务模型。

样张Univer Rust 公式引擎
原生加载+计算(秒)
Excel
打开+全量重算(秒)
LibreOffice
打开+全量重算(秒)
五十万公式3.542.3918.74
混合公式负载5.083.119.72
大型预测模型17.678.5512.86
大型业务分析12.2910.808.99
销售条件计数(COUNTIFS)3.5419.47320.01
多工作表项目预算1.270.732.96
汇总公式0.271.033.10
嵌套 IF 与工作日计算1.653.482.21
CBAM 计算模型1.190.741.83
小型预测模型13.025.797.61

不同业务模型,不同计算特点

在这组负载中,Univer Rust 公式引擎在条件计数、汇总和工作日计算上表现突出。结果也说明,公式数量并非决定耗时的唯一因素,引用范围、函数组合和依赖结构同样重要。

在预测模型中,Excel 和 LibreOffice 完成得更快,这也是后续优化的方向。完整呈现这些结果,方便开发者根据自己的业务负载作出判断。

把计算能力带进你的 Office 应用

Univer Rust 公式引擎是 Office SDK 服务端计算流程的一部分。应用可以针对确定的内容版本计算,将结果随 Snapshot 保存;前端打开时复用有效结果,并由前端公式引擎继续响应用户编辑。

基于同一内容运行时,开发者可以构建后台报表、批量处理和 Agent 任务,让计算结果自然进入后续业务流程。

了解无头与服务端计算,或从 Office SDK 快速开始构建你的应用。

测试方法与样张详情

本次按各自输入格式测量处理耗时:Rust 加载预转换的原生引擎 JSON,Excel、LibreOffice 打开 XLSX,包含样式等文档处理。应用启动、离线转换和计时后的校验不计入,不扣减打开时间基线。

Rust 每份样张预热 1 次、正式测量 5 次,每轮使用独立进程和新文档。Rust 结果取中位数。

Excel、LibreOffice 对照记录的环境: Windows 11、Intel Core i7-13700H、约 32 GB 内存。Excel 为 16.0 build 20527.0,20 个计算线程;LibreOffice 为 26.8.1.1,开启 CPU 多线程计算,未启用 OpenCL 加速。本轮 Rust 使用 20 线程。

引擎计时范围统计方式
Univer Rust 公式引擎同一连续秒表:读取原生快照文件 → JSON 反序列化 → load_snapshot 加载 → 首次建依赖 → 强制全量公式计算 → 应用结果;不计离线 XLSX 转换。每份预热 1 次、正式测量 5 次,取中位数;每轮使用独立进程和新文档,20 线程。
Excel COM从新打开原文件 Workbooks.Open 到 CalculateFullRebuild() 返回,包含显式重建依赖与全量重算。每份预热 1 次、正式测量 5 次,取中位数。
LibreOffice 无头模式 / UNO从新打开原 XLSX 到 calculateAll() 返回,包含打开阶段执行的工作。5 次测量的中位数;销售条件计数为单次成功的诊断记录。

Rust 加载与计算分段实测

各列独立取中位数,分段中位数之和不一定等于连续总耗时的中位数。

样张原生文件读取、反序列化
与加载(秒)
首次建依赖+全量执行
及结果应用(秒)
连续总耗时(秒)
五十万公式1.272.253.54
混合公式负载0.604.505.08
大型预测模型3.6513.9417.67
大型业务分析2.659.4612.29
销售条件计数(COUNTIFS)0.612.973.54
多工作表项目预算0.390.881.27
汇总公式0.090.180.27
嵌套 IF 与工作日计算0.271.401.65
CBAM 计算模型0.091.081.19
小型预测模型2.4010.2013.02

这些工作簿包含什么

公式数量按可执行公式节点统计,不一定等于物理公式单元格数。数据格指非公式的有值单元格,包含表头。样本集由 9 份主要样张和 1 份规模补充样张组成,并非 10 个完全独立的公式家族。

样张公式节点数据格 / 工作表公式特征
五十万公式500,0011,000,047 / 2SUM、AVERAGE、IF、XLOOKUP;大规模重复公式。
混合公式负载367,954432,055 / 7SUMIF、AVERAGEIFS;条件统计与日期、文本混合。
大型预测模型1,463,7211,549,982 / 46 层嵌套;INDEX、LARGE、OFFSET、MATCH 与数组。
大型业务分析1,992,537113,084 / 317 层嵌套;跨表引用、文本处理与兼容性公式。
销售条件计数(COUNTIFS)349,630299,573 / 2IF、AND、COUNTIFS;逐行扩大的条件计数范围。
多工作表项目预算68,576101,378 / 5454 张工作表;使用 VLOOKUP、INDIRECT 的跨表预算。
汇总公式26,9516,841 / 2IFERROR、AVERAGE、SUM;长参数汇总。
嵌套 IF 与工作日计算118,821338 / 110 层 IF 嵌套;NETWORKDAYS 工作日计算。
CBAM 计算模型52,73913,738 / 196 层嵌套;查找、条件统计、动态引用与矩阵。
小型预测模型974,6251,040,507 / 4与大型预测模型属于同一公式家族,规模更小。

数据、校验与复核

报告对公式数量与抽样结果进行了校验,以确认测试路径中的计算完整性;这不代表跨产品所有公式结果完全一致。

重算接口说明:Excel CalculateFullRebuild · LibreOffice calculateAll。

© 2026 DreamNum Co., Ltd.