Blacksmith 基准快照
此页面是从工具基准工作流程生成的,因此发布的性能数据可以引用一个可重现的运行程序、输入语料库和提交。
最新结果
测量时间:2026-07-09T10:06:01.799Z
提交:27fe77df7c87(运行)
运行器:blacksmith-32vcpu-ubuntu-2404(32 个逻辑 CPU、AMD EPYC、32 个 vCPU/128 GB RAM/1.5 TB 存储)
输入:15,000 个生成的 SFC 文件 (58.7 MB)。 1 次热身运行后 5 次测量运行的中位数。
大型 SFC:900 个重复模板块 (674.9 KB)。 Nuxt 导入集:500 个 SFC 文件。
|表面| 文件 |现有工具|现有中位数 |威泽1T |维兹最大|加速| | ------------------------ | | -----: | ---------------------- | --------------: | ------: | --------: | ------: | |证监会编译| 15,000 | @vue/compiler-sfc (1T) | 17.54 秒 | 3.23 秒 | 290.8 毫秒 | 60.3 倍 | |大型SFC编译| 1 | @vue/compiler-sfc (1T) | 192.6 毫秒 | 62.6 毫秒 | 56.3 毫秒 | 3.4 倍 | |大型SFC类型检查| 1 | vue-tsc | 1.69 秒 | 178.7 毫秒 | 178.0 毫秒 | 9.5 倍 | |棉绒 | 15,000 | eslint-插件-vue (1T) | 54.32 秒 | 1.91 秒 | 279.3 毫秒 | 194.5 倍 | |格式| 15,000 |更漂亮的 CLI | 143.61 秒 | 10.15 秒 | 1.79 秒 | 80.3 倍 | |类型检查 | 500 | 500 vue-tsc | 5.36 秒 | 500.5 毫秒 | 430.1 毫秒 | 12.5 倍 | | Vite 构建(端到端)| 1,000 | @vitejs/插件-vue | 1.66 秒 | 不适用 | 732.5 毫秒 | 2.3 倍 | | Nuxt SPA 构建(端到端)| 500 | 500 Nuxt 默认编译器 | 6.79 秒 | 不适用 | 6.42 秒 | 1.1 倍 |
公平性注意事项:
所有工具都在从相同的签出和锁定文件生成的同一 Vue SFC 语料库上运行。
15,000 SFC 行是多文件工作负载;大型 SFC 行隔离一个大型组件。
报告的时间为中位数;热身运行后测量运行替代变体顺序。
破坏性格式化程序运行在每次调用之前接收相同输入的新副本。
SFC 编译 Vize max 使用
compileSfcBatchWithResultswall time,因此主要数字包括跨越 JS/native 边界的生成输出;仅统计的本机timeMs仅在变体详细信息中显示。Vite 构建时间不包括夹具复制/设置; Vize max 通道将
precompileBatchSize设置为基准文件计数,以便 Blacksmith max 运行一个本机预编译批处理,而不是内存安全的默认块。Nuxt SPA 构建时间不包括合成应用程序生成,并将
nuxt build与 Nuxt 的默认编译器与安装了@vizejs/nuxt的同一应用程序进行比较。在有用的地方显示单线程通道,主要加速比将现有的默认/单线程通道与 Vize 的最大运行通道进行比较。
命令:
gh workflow run tool-benchmark.yml --ref <branch> -f file_count=15000 -f check_file_count=500 -f vite_file_count=1000 -f nuxt_file_count=500 -f large_blocks=900 -f runs=5 -f warmups=1 -f commit_results=true
node bench/generate.mjs 15000
node bench/compare-tools.mjs --input bench/__in__ --vize-bin target/release/vize --runs 5 --warmups 1 --check-file-count 500 --vite-file-count 1000 --nuxt-file-count 500 --large-blocks 900 --runner-label "blacksmith-32vcpu-ubuntu-2404" --out tool-benchmark-summary.md --json tool-benchmark-results.json --doc performance-blacksmith.md
变体详细信息和原始运行时间
SFC编译
|变体 | 中位数| 吞吐量|原始测量运行 | | --------------------------------------- | ------: | ------------: | ------------------------------------------- | | @vue/compiler-sfc (1T) | 17.54 秒 | 855 个文件/秒 | 17.88 秒、17.59 秒、17.49 秒、17.54 秒、17.32 秒 | | @vue/compiler-sfc(32 名工作人员)| 5.90 年代 | 2.5k 文件/秒 | 5.89 秒、5.90 秒、5.86 秒、5.95 秒、6.09 秒 | | Vize原生循环(1T)| 3.23 秒 | 4.6k 文件/秒 | 3.10 秒、3.13 秒、3.36 秒、3.36 秒、3.23 秒 | | Vize 原生批次结果(最大值)| 290.8 毫秒 | 51.6k 文件/秒 | 290.8 毫秒、272.9 毫秒、302.8 毫秒、274.7 毫秒、302.9 毫秒 | |仅 Vize 本机批次统计数据(核心最大值)| 178.8 毫秒 | 83.9k 文件/秒 | 172.9 毫秒、174.3 毫秒、178.8 毫秒、180.3 毫秒、180.1 毫秒 |
大型SFC编译
| 变体 | 中位数 | 吞吐量 | 原始测量运行 |
|---|---|---|---|
| @vue/compiler-sfc (1T) | 192.6 毫秒 | 5 个文件/秒 | 192.6 毫秒、192.6 毫秒、197.2 毫秒、195.9 毫秒、190.7 毫秒 |
| @vue/compiler-sfc (1 名工作人员) | 479.8 毫秒 | 2 个文件/秒 | 468.3 毫秒、475.4 毫秒、479.8 毫秒、555.9 毫秒、493.1 毫秒 |
| Vize原生循环(1T) | 62.6 毫秒 | 16 个文件/秒 | 62.6 毫秒、55.1 毫秒、65.2 毫秒、57.1 毫秒、65.0 毫秒 |
| Vize 原生批次结果(最大值) | 56.3 毫秒 | 18 个文件/秒 | 54.8 毫秒、54.3 毫秒、56.3 毫秒、56.4 毫秒、56.8 毫秒 |
| 仅 Vize 本机批次统计数据(核心最大值) | 55.7 毫秒 | 18 个文件/秒 | 56.7 毫秒、53.4 毫秒、55.7 毫秒、55.3 毫秒、55.8 毫秒 |
大型 SFC 类型检查
| 变体 | 中位数 | 吞吐量 | 原始测量运行 |
|---|---|---|---|
| vue-tsc | 1.69 秒 | 1 个文件/秒 | 1.70 秒、1.72 秒、1.68 秒、1.62 秒、1.69 秒 |
| 维兹检查(1T) | 178.7 毫秒 | 6 个文件/秒 | 176.2 毫秒、178.4 毫秒、179.1 毫秒、189.4 毫秒、178.7 毫秒 |
| 视觉检查(最大) | 178.0 毫秒 | 6 个文件/秒 | 177.7 毫秒、178.0 毫秒、177.5 毫秒、189.5 毫秒、194.5 毫秒 |
棉绒
|变体 | 中位数| 吞吐量|原始测量运行 | | ------------------------------------------ | ------: | ------------: | ------------------------------------------- | | eslint-插件-vue (1T) | 54.32 秒 | 276 个文件/秒 | 54.32 秒、54.44 秒、53.47 秒、54.35 秒、54.06 秒 | | eslint-plugin-vue(32 个工作人员)| 13.47 秒 | 1.1k 文件/秒 | 13.41 秒、13.61 秒、13.63 秒、13.26 秒、13.47 秒 | |维兹棉绒 (1T) | 1.91 秒 | 7.9k 文件/秒 | 1.88 秒、1.84 秒、1.91 秒、1.91 秒、1.97 秒 | |棉绒(最大)| 279.3 毫秒 | 53.7k 文件/秒 | 275.8 毫秒、272.1 毫秒、287.9 毫秒、287.1 毫秒、279.3 毫秒 |
格式
|变体 | 中位数| 吞吐量|原始测量运行 | | -------------- | ------: | ------------: | ------------------------------------------- | |更漂亮的 CLI | 143.61 秒 | 104 个文件/秒 | 142.61 秒、142.38 秒、143.61 秒、145.98 秒、144.94 秒 | |维兹 fmt (1T) | 10.15 秒 | 1.5k 文件/秒 | 10.10 秒、10.26 秒、10.15 秒、10.43 秒、9.82 秒 | |可视化 fmt(最大)| 1.79 秒 | 8.4k 文件/秒 | 1.78 秒、1.79 秒、1.82 秒、1.82 秒、1.78 秒 |
类型检查
|变体 | 中位数| 吞吐量|原始测量运行 | | ---------------- | ------: | ------------:| ------------------------------------------- | | vue-tsc | 5.36 秒 | 93 个文件/秒 | 5.46 秒、5.36 秒、5.50 秒、5.34 秒、5.36 秒 | |维兹检查(1T)| 500.5 毫秒 | 999 个文件/秒 | 489.1 毫秒、513.6 毫秒、500.5 毫秒、504.0 毫秒、491.2 毫秒 | |视觉检查(最大)| 430.1 毫秒 | 1.2k 文件/秒 | 427.4 毫秒、430.1 毫秒、421.3 毫秒、438.8 毫秒、431.3 毫秒 |
Vite 构建(端到端)
|变体 | 中位数| 吞吐量|原始测量运行 | | ------------------- | ------: | ------------:| ------------------------------------------- | | @vitejs/插件-vue | 1.66 秒 | 601 个文件/秒 | 1.65 秒、1.61 秒、1.69 秒、1.66 秒、1.95 秒 | | @vizejs/vite-插件 | 732.5 毫秒 | 1.4k 文件/秒 | 732.5 毫秒、713.2 毫秒、746.2 毫秒、691.9 毫秒、752.8 毫秒 |
Nuxt SPA 构建(端到端)
| 变体 | 中位数 | 吞吐量 | 原始测量运行 |
|---|---|---|---|
| Nuxt 默认编译器 | 6.79 秒 | 74 个文件/秒 | 6.74 秒、6.73 秒、6.86 秒、6.89 秒、6.79 秒 |
| @vizejs/nuxt | 6.42 秒 | 78 个文件/秒 | 6.36 秒、6.42 秒、6.31 秒、6.50 秒、6.50 秒 |