Vize

Blacksmith 基准快照

README 与所有语言页面均由同一个已提交的产物生成。文件数量按行标明。

运行环境 测量时间 测量次数 预热次数
blacksmith-32vcpu-ubuntu-2404 (32 CPU) 2026-09-16T08:19:25.262Z 3 1

Actions · f9cc50ee2e2f · JSON

项目 文件数 比较工具 比较工具中位数 Vize 1T Vize max 速度比
SFC 编译 3,000 @vue/compiler-sfc (1T) 3.57s 835.3ms 65.0ms 54.8x
大型 SFC 编译 1 @vue/compiler-sfc (1T) 61.4ms 16.3ms 15.2ms 4.0x
大型 SFC 类型检查 1 vue-tsc 1.34s 186.4ms 190.1ms 7.0x
Lint 3,000 eslint-plugin-vue (1T) 20.75s 432.3ms 114.0ms 182.0x
格式化 3,000 Prettier CLI 29.72s 1.07s 351.4ms 84.6x
类型检查 500 vue-tsc 6.75s 2.03s 1.37s 4.9x
Vite 构建 1,000 @vitejs/plugin-vue 1.66s n/a 889.2ms 1.9x
Nuxt 构建 250 Nuxt default compiler 3.07s n/a 3.21s 0.95x
Musea 240 n/a n/a n/a 30.9ms n/a

类型检查速度比比较 Vize 与 vue-tsc,即 Vue 项目当前实际使用的类型检查器。vue-tsc 运行 JavaScript 版 TypeScript 编译器,而 Vize 运行原生 tsgo,因此该比值涵盖整条工具链,而非仅 Vue 层;完整快照中按引擎类别分组的表格会在同一引擎内部排名,用于单独衡量 Vue 层。每次计时都通过诊断工作验证,但不同工具的诊断覆盖范围并不相同。这些比值不代表准确性相同,也不代表相对于旧版 Vize 的性能提升。未通过验证的比较工具不发布耗时或排名。

完整方法与验证结果

工具版本与二进制校验和
工具 版本 二进制 SHA-256
Vize vize 0.424.11 dc5e840133beec86106ca27c496ca01fbff4299a8aef6c3a0f2fca3131f88fe3
tsgo Version 7.0.2 4f2de678286401759b3fb4475bafe35b8f32b4b3a07d92642bbf37eadc9b34a4
vue-tsc Version 6.0.3 811cc8124f36b6c770964d486da62af1b9db6949f62bc47205982d17e8e7dc8d
verter-tsc verter-tsc 0.0.1-beta.3 81bec5c957487bd2caf15312bf4f180afadd074f11c1d34cb4bb2c66bd7ac224
Golar Golar version 0.1.10 a100c0e559b6cf85fc3e67a65f0b8eedcee0ccf624022fc4882bea2a3d6316da
TypeScript (vue-tsc) n/a n/a
Vue 3.6.0-beta.10 n/a
ESLint v10.4.1 41dd060d45aca4a2144b94862e21e285bbb726b19e61db7a03c5b2e0b67973cc
Prettier 3.8.3 a7a78ad15344be4f14f24832a8c5fa5918bec4339b8d1d0903a5167c34ecb428
Node.js v24.14.0 n/a

Backend: native TypeScript engine ready at /home/runner/_work/vize/vize/node_modules/@typescript/typescript-linux-x64/lib/tsc. Planted-diagnostic gating for the type-check rows lives in tools/benchmarks/scripts/check-gate.mjs (.github/workflows/check-bench.yml).

诊断工作验证

大型 SFC 类型检查: 按引擎类别分别排名

引擎类别 对比项 中位数 相对同类最快项
JavaScript TypeScript 引擎 (tsc) vue-tsc 1.34s 1.00x
原生 TypeScript 引擎 (tsgo) Vize check (1T) 186.4ms 1.00x
原生 TypeScript 引擎 (tsgo) Vize check (max) 190.1ms 1.02x
原生 TypeScript 引擎 (tsgo) verter-tsc 1.58s 8.48x

速度比仅比较使用相同原生 tsgo 引擎的工具。诊断覆盖范围可能不同,因此这不代表准确性相同。使用 JavaScript TypeScript 引擎的 vue-tsc 仅作为同次运行的时间参考,不计算跨引擎速度比。

Golar typecheck (预检): 验证未通过,不公布耗时或排名。

missed the corpus-scale plant or changed baseline diagnostics: {"plants":[["__CheckGatePlant.vue","error","2","7","TS2322","Type 'string' is not assignable to type 'number'."],["__CheckGatePlant.vue","error","7","26","TS2322","Type 'string' is not assignable to type 'Booleanish | undefined'."]],"added":[["LargeDashboard.vue","error","1019","89","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."],["LargeDashboard.vue","error","1111","89","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."],["LargeDashboard.vue","error","1157","88","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."]],"removed":[["LargeDashboard.vue","error","1019","88","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."],["LargeDashboard.vue","error","1111","88","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."],["LargeDashboard.vue","error","1157","89","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."]]}

Golar (lint+check) (预检): 验证未通过,不公布耗时或排名。

missed the corpus-scale plant or changed baseline diagnostics: {"plants":[["__CheckGatePlant.vue","error","2","7","TS2322","Type 'string' is not assignable to type 'number'."],["__CheckGatePlant.vue","error","7","26","TS2322","Type 'string' is not assignable to type 'Booleanish | undefined'."]],"added":[["LargeDashboard.vue","error","1088","89","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."],["LargeDashboard.vue","error","1111","89","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."],["LargeDashboard.vue","error","1203","89","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."]],"removed":[["LargeDashboard.vue","error","1088","88","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."],["LargeDashboard.vue","error","1111","88","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."],["LargeDashboard.vue","error","1203","88","TS2353","Object literal may only specify known properties, and ''data-index'' does not exist in type 'HTMLAttributes & ReservedProps'."]]}

类型检查工作验证(严格模板检查;预热前验证;每次运行重新核对诊断):

对比项 最小错误注入 语料库错误注入 诊断数 退出状态 诊断 SHA-256
vue-tsc 4 通过 300 2 508e4fa9ce85b1cd8051ee934c78c5bc2a9dd3a8ac7ff4b44f3d8dcf7263a2eb
verter-tsc 4 通过 0 0 6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87
Vize check (1T) 4 通过 0 0 6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87
Vize check (max) 4 通过 0 0 6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87

类型检查: 按引擎类别分别排名

引擎类别 对比项 中位数 相对同类最快项
JavaScript TypeScript 引擎 (tsc) vue-tsc 6.75s 1.00x
原生 TypeScript 引擎 (tsgo) Vize check (max) 1.37s 1.00x
原生 TypeScript 引擎 (tsgo) Vize check (1T) 2.03s 1.47x
原生 TypeScript 引擎 (tsgo) verter-tsc 2.08s 1.51x

速度比仅比较使用相同原生 tsgo 引擎的工具。诊断覆盖范围可能不同,因此这不代表准确性相同。使用 JavaScript TypeScript 引擎的 vue-tsc 仅作为同次运行的时间参考,不计算跨引擎速度比。

Golar typecheck (预检): 验证未通过,不公布耗时或排名。

missed the corpus-scale plant or changed baseline diagnostics: {"plants":[["__CheckGatePlant.vue","error","2","7","TS2322","Type 'string' is not assignable to type 'number'."],["__CheckGatePlant.vue","error","7","26","TS2322","Type 'string' is not assignable to type 'Booleanish | undefined'."]],"added":[["Component0007.vue","error","8","73","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."],["Component0017.vue","error","8","72","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."],["Component0027.vue","error","8","72","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."]],"removed":[["Component0007.vue","error","8","72","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."],["Component0017.vue","error","8","73","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."],["Component0027.vue","error","8","73","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."]]}

Golar (lint+check) (预检): 验证未通过,不公布耗时或排名。

missed the corpus-scale plant or changed baseline diagnostics: {"plants":[["__CheckGatePlant.vue","error","2","7","TS2322","Type 'string' is not assignable to type 'number'."],["__CheckGatePlant.vue","error","7","26","TS2322","Type 'string' is not assignable to type 'Booleanish | undefined'."]],"added":[["Component0037.vue","error","8","73","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."],["Component0057.vue","error","8","73","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."],["Component0197.vue","error","8","73","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."]],"removed":[["Component0037.vue","error","8","72","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."],["Component0057.vue","error","8","72","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."],["Component0197.vue","error","8","72","TS2353","Object literal may only specify known properties, and ''data-kind'' does not exist in type 'HTMLAttributes & ReservedProps'."]]}

类型检查工作验证(严格模板检查;预热前验证;每次运行重新核对诊断):

对比项 最小错误注入 语料库错误注入 诊断数 退出状态 诊断 SHA-256
vue-tsc 4 通过 450 2 ca130bc55a0235c3dada35ca3a7aca8558f63858d7d03ec3ec586f4828773dd5
verter-tsc 4 通过 4250 1 7f6641e728fa345abc3ac7eebb7f77a5e694c0cdaf81bf951c8829c0b2c32cfe
Vize check (1T) 4 通过 0 0 6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87
Vize check (max) 4 通过 0 0 6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87

各工具的原始测量值

SFC 编译

对比项 中位数 (ms) 各次耗时 (ms)
@vue/compiler-sfc (1T) 3565.85 3567.88, 3565.85, 3550.948
@vue/compiler-sfc (32 workers) 1606.347 1697.16, 1528.422, 1606.347
Vize native loop (1T) 835.251 897.995, 835.251, 834.409
Vize native batch results (max) 65.028 59.568, 71.303, 65.028
Vize native batch stats-only (core max) 35.54 34.897, 35.54, 39.299
Vize batch sequence (1→32T, measures 32T) 37.278 37.278, 36.847, 37.976
Vize batch sequence (32T→1, measures 1T) 612.523 612.523, 588.983, 613.67

大型 SFC 编译

对比项 中位数 (ms) 各次耗时 (ms)
@vue/compiler-sfc (1T) 61.376 64.493, 61.376, 56.331
@vue/compiler-sfc (1 workers) 203.181 189.705, 203.181, 204.253
Vize native loop (1T) 16.263 16.263, 15.058, 17.05
Vize native batch results (max) 15.244 15.177, 15.902, 15.244
Vize native batch stats-only (core max) 11.67 11.374, 12.518, 11.67
Vize batch sequence (1→32T, measures 32T) 12.469 12.587, 11.654, 12.469
Vize batch sequence (32T→1, measures 1T) 12.33 12.33, 12.615, 12.214

大型 SFC 类型检查

对比项 中位数 (ms) 各次耗时 (ms)
vue-tsc 1337.752 1348.946, 1315.192, 1337.752
verter-tsc 1580.097 1580.097, 1611.568, 1563.42
Vize check (1T) 186.426 186.426, 181.091, 188.789
Vize check (max) 190.067 190.067, 190.793, 183.272

Lint

对比项 中位数 (ms) 各次耗时 (ms)
eslint-plugin-vue (1T) 20752.434 20609.852, 20830.969, 20752.434
eslint-plugin-vue (32 workers) 6984.314 6984.314, 6989.249, 6969.495
Vize lint (1T) 432.254 431.379, 432.254, 447.485
Vize lint (max) 114.045 114.045, 108.49, 120.315

格式化

对比项 中位数 (ms) 各次耗时 (ms)
Prettier CLI 29723.111 28949.562, 29745.493, 29723.111
Vize fmt (1T) 1072.253 1059.388, 1104.777, 1072.253
Vize fmt (max) 351.408 351.408, 342.484, 358.852

类型检查

对比项 中位数 (ms) 各次耗时 (ms)
vue-tsc 6754.668 6435.819, 6754.668, 6772.635
verter-tsc 2079.699 2079.699, 2075.939, 2102.418
Vize check (1T) 2025.704 2025.704, 1996.936, 2046.702
Vize check (max) 1374.02 1384.116, 1332.651, 1374.02

Vite 构建

对比项 中位数 (ms) 各次耗时 (ms)
@vitejs/plugin-vue 1656.557 1656.557, 1600.439, 1730.685
@vizejs/vite-plugin 889.18 889.18, 881.988, 947.765

Nuxt 构建

对比项 中位数 (ms) 各次耗时 (ms)
Nuxt default compiler 3067.515 3083.42, 3067.515, 3057.014
@vizejs/nuxt 3213.326 3259.084, 3213.326, 3176.535

Musea

对比项 中位数 (ms) 各次耗时 (ms)
options: preserve configured Rollup inputs 0.002 0.009, 0.002, 0.001
buildStart: scan + parse art files 16.52 16.817, 16.52, 15.88
load: generate art modules 9.163 11.451, 9.163, 8.979
transform: TS to JS on generated modules 4.048 4.048, 4.459, 3.772
musea-nuxt: resolve Nuxt mock specifiers 0.097 0.097, 0.102, 0.046
whole plugin: config + options + buildStart + load + transform 30.852 33.577, 29.868, 30.852