El motor de fórmulas Rust de Univer: millones de fórmulas en el servidor

Diez libros ponen a prueba el motor de fórmulas Rust de Univer: casi 2 millones de nodos, comparativas con Excel y LibreOffice, gráficos y archivos XLSX.

El motor de fórmulas Rust de Univer aporta el cálculo de hojas de cálculo en el servidor a Univer Office SDK para el procesamiento por lotes, los informes y la automatización con agentes. Cuando los presupuestos, las previsiones y las reglas de negocio suman cientos de miles o millones de fórmulas, la capacidad de cálculo se vuelve parte esencial de la aplicación.

Medimos diez libros con fórmulas repetidas, estadísticas condicionales, presupuestos entre hojas y previsiones. Tres resultados ilustran la escala del trabajo que puede procesar el motor:

  • Casi 2 millones de nodos de fórmula: 12.29 segundos, con carga nativa y cálculo completo.
  • Un presupuesto de proyecto con 54 hojas: 1.27 segundos.
  • Ventas con COUNTIFS: 3.54 segundos.

Resultados de diez libros

Rust incluye carga del snapshot nativo y cálculo completo, sin conversión XLSX. Excel y LibreOffice incluyen apertura del XLSX fuente y recálculo completo.

Segundos; menos es mejor. El eje horizontal es logarítmico.

Resultados completos y descarga de libros

Pulse un nombre para descargar el XLSX fuente y explorar su modelo de negocio.

LibroMotor de fórmulas Rust de Univer
Carga nativa + cálculo (s)
Excel
Apertura + recálculo completo (s)
LibreOffice
Apertura + recálculo completo (s)
Medio millón de fórmulas3.542.3918.74
Carga de fórmulas mixtas5.083.119.72
Previsión · modelo grande17.678.5512.86
Análisis empresarial grande12.2910.808.99
Ventas COUNTIFS3.5419.47320.01
Presupuesto de proyecto entre hojas1.270.732.96
Fórmulas de agregación0.271.033.10
IF anidados y días laborables1.653.482.21
Modelo de cálculo CBAM1.190.741.83
Previsión · modelo pequeño13.025.797.61

Cada modelo tiene sus características

En estas cargas, el motor de fórmulas Rust de Univer destaca en recuentos condicionales, agregaciones y días laborables. El número de fórmulas no determina por sí solo el tiempo: también influyen rangos, funciones y dependencias.

Excel y LibreOffice terminan antes los modelos de previsión, señalando una dirección clara para optimizar. Se muestran todos los resultados para que cada desarrollador valore sus propias cargas.

Incorpore el cálculo a su aplicación Office

El motor de fórmulas Rust de Univer forma parte del cálculo servidor de Office SDK. La aplicación puede calcular una revisión concreta y guardar los resultados en su Snapshot. El navegador reutiliza los valores válidos y sigue respondiendo a las ediciones con su motor de fórmulas.

Este runtime de contenido común permite crear informes en segundo plano, procesos por lotes y tareas de agentes, y llevar los resultados al siguiente paso del flujo de negocio.

Explore la ejecución sin interfaz y el cálculo servidor, o cree su aplicación con el inicio rápido de Office SDK.

Métodos y detalles de los libros

Rust carga JSON nativo preconvertido; Excel y LibreOffice abren XLSX con tratamientos del documento como los estilos. Se miden esos formatos de entrada. Se excluyen el arranque, la conversión previa y la validación posterior; no se resta un tiempo base de apertura.

Rust usa un calentamiento y cinco mediciones por libro, cada vez en un proceso independiente y un documento nuevo. Los valores de Rust son medianas.

Entorno de los registros de referencia Excel y LibreOffice: Windows 11, Intel Core i7-13700H, unos 32 GB de RAM. Excel 16.0 build 20527.0, 20 hilos de cálculo; LibreOffice 26.8.1.1, cálculo multihilo en CPU activado, sin aceleración OpenCL. La nueva medición de Rust usa 20 hilos.

MotorOperación medidaEstadística publicada
Motor de fórmulas Rust de UniverCronómetro continuo: leer archivo nativo → deserializar JSON → load_snapshot → dependencias iniciales → cálculo completo forzado → aplicar resultados. Conversión XLSX previa excluida.1 calentamiento y 5 mediciones por muestra; mediana. Cada ronda usa proceso independiente y documento nuevo; 20 hilos.
Excel COMDesde un nuevo Workbooks.Open hasta el retorno de CalculateFullRebuild(), con reconstrucción explícita de dependencias y recálculo completo.1 calentamiento y 5 mediciones por libro; mediana.
LibreOffice sin interfaz / UNODesde abrir el XLSX original hasta el retorno de calculateAll(), con el trabajo realizado durante la apertura.mediana de 5 mediciones, salvo ventas COUNTIFS, con un único diagnóstico completado.

Etapas de carga y cálculo de Rust

Cada columna tiene una mediana independiente, por lo que su suma puede diferir de la mediana del total continuo.

LibroLectura nativa, deserialización
y carga (s)
Dependencias, cálculo completo
y aplicación (s)
Total continuo (s)
Medio millón de fórmulas1.272.253.54
Carga de fórmulas mixtas0.604.505.08
Previsión · modelo grande3.6513.9417.67
Análisis empresarial grande2.659.4612.29
Ventas COUNTIFS0.612.973.54
Presupuesto de proyecto entre hojas0.390.881.27
Fórmulas de agregación0.090.180.27
IF anidados y días laborables0.271.401.65
Modelo de cálculo CBAM0.091.081.19
Previsión · modelo pequeño2.4010.2013.02

Qué contiene cada libro

El recuento corresponde a nodos ejecutables de fórmula, no necesariamente a celdas físicas. Las celdas de datos tienen valores sin fórmula e incluyen encabezados. Hay nueve libros principales y una variante de escala, no diez familias independientes.

LibroNodos de fórmulaCeldas de datos / hojasCaracterísticas de las fórmulas
Medio millón de fórmulas500,0011,000,047 / 2SUM, AVERAGE, IF, XLOOKUP; numerosas fórmulas repetidas.
Carga de fórmulas mixtas367,954432,055 / 7SUMIF, AVERAGEIFS; estadísticas condicionales con fechas y texto.
Previsión · modelo grande1,463,7211,549,982 / 46 niveles de anidamiento; INDEX, LARGE, OFFSET, MATCH y matrices.
Análisis empresarial grande1,992,537113,084 / 317 niveles; referencias entre hojas, texto y fórmulas de compatibilidad.
Ventas COUNTIFS349,630299,573 / 2IF, AND, COUNTIFS; rangos de recuento que crecen por fila.
Presupuesto de proyecto entre hojas68,576101,378 / 5454 hojas; presupuestos entre hojas con VLOOKUP e INDIRECT.
Fórmulas de agregación26,9516,841 / 2IFERROR, AVERAGE, SUM; agregaciones con listas largas de argumentos.
IF anidados y días laborables118,821338 / 110 niveles de IF; días laborables con NETWORKDAYS.
Modelo de cálculo CBAM52,73913,738 / 196 niveles; búsquedas, estadísticas condicionales, referencias dinámicas y matrices.
Previsión · modelo pequeño974,6251,040,507 / 4La misma familia de fórmulas que el modelo grande, a menor escala.

Datos, validación y reproducción

El informe verifica el recuento de fórmulas y valores muestreados para comprobar la integridad del cálculo probado. No demuestra la igualdad de todos los resultados entre productos.

API de recálculo: Excel CalculateFullRebuild y LibreOffice calculateAll.

© 2026 DreamNum Co., Ltd.