Blacksmith Benchmark Snapshot
Esta página é gerada a partir do fluxo de trabalho Tool Benchmark, para que números de desempenho publicados possam citar um runner reproduzível, corpus de entrada e commit.
Resultado Recente
Medido: 2026-07-09T10:06:01.799Z
Comprometido: 27fe77df7c87 (run)
Runner: blacksmith-32vcpu-ubuntu-2404 (32 CPU lógica, AMD EPYC, 32 vCPU / 128 GB RAM / 1,5 TB de armazenamento)
Entrada: 15.000 arquivos SFC gerados (58,7 MB). Mediana de 5 corridas medidas após 1(s) corrida(s) de aquecimento.
Grande SFC: 900 blocos de molde repetidos (674,9 KB). Conjunto de importação Nuxt: 500 arquivos SFC.
| Superfície | Arquivos | Ferramenta existente | Mediana existente | Vize 1T | Vize max | Aceleração |
|---|---|---|---|---|---|---|
| Compilação SFC | 15,000 | @vue/compilador-sfc (1T) | 17,54s | 3,23s | 290,8ms | 60,3x |
| Compilação grande de SFC | 1 | @vue/compilador-sfc (1T) | 192,6ms | 62,6ms | 56,3ms | 3,4x |
| Verificação grande do tipo SFC | 1 | Vue-TSC | 1,69s | 178,7ms | 178,0ms | 9,5x |
| Fiapos | 15,000 | eslint-plugin-vue (1T) | 54,32s | 1,91s | 279,3ms | 194,5x |
| Formato | 15,000 | Prettier CLI | 143,61s | 10,15s | 1,79s | 80,3x |
| Verificação de tipo | 500 | Vue-TSC | 5,36s | 500,5ms | 430,1ms | 12,5x |
| Build Vite (de ponta a ponta) | 1,000 | @vitejs/plugin-vue | 1,66s | N/A | 732,5ms | 2,3x |
| Build Nuxt SPA (de ponta a ponta) | 500 | Compilador padrão Nuxt | 6,79s | N/A | 6,42s | 1,1x |
Notas de justiça:
Todas as ferramentas rodam no mesmo corpus SFC gerado pelo Vue a partir do mesmo checkout e lockfile.
As linhas de 15.000 SFC são a carga de trabalho de muitos arquivos; as linhas de grandes SFC isolam um grande componente.
Os horários relatados são medianas; As corridas medidas alternam a ordem variante após as corridas de aquecimento.
Execuções de formador destrutivo recebem uma cópia nova da mesma entrada antes de cada invocação.
O Vize Max da compilação SFC usa
compileSfcBatchWithResultstempo de parede, então o número principal inclui a saída gerada cruzando a fronteira JS/nativa; AtimeMsnativa apenas de estatísticas é mostrada apenas em detalhes variantes.Tempos de montagem do Vite excluem cópia/configuração de dispositivos; as linhas Vize Max
precompileBatchSizepara a contagem de arquivos de benchmark, então o Blacksmith Max executa um lote nativo de pré-compilação em vez dos chunks padrão seguros em memória.Os tempos de build do Nuxt SPA excluem a geração sintética de aplicativos e comparam
nuxt buildcom o compilador padrão do Nuxt contra o mesmo app com@vizejs/nuxtinstalado.As faixas de thread único são mostradas quando úteis, e a aceleração principal compara a faixa padrão/única linha incumbente com a faixa de corredor máximo do Vize.
Comandos:
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
Detalhes das variantes e tempos brutos de execução
Compilação SFC
| Variante | Mediana | Taxa de transferência | Corridas medidas brutas |
|---|---|---|---|
| @vue/compilador-sfc (1T) | 17,54s | 855 arquivos/s | 17,88s, 17,59s, 17,49s, 17,54s, 17,32s |
| @vue/compilador-sfc (32 trabalhadores) | 5.90s | 2,5k arquivos/s | 5,89s, 5,90s, 5,86s, 5,95s, 6,09s |
| Loop nativo Vize (1T) | 3,23s | 4.6k arquivos/s | 3.10s, 3.13s, 3.36s, 3.36s, 3.23s |
| Resultados nativos em lote do Vize (máximo) | 290,8ms | 51,6k arquivos/s | 290,8ms, 272,9ms, 302,8ms, 274,7ms, 302,9ms |
| Vize apenas para estatísticas nativas em lote (core max) | 178,8ms | 83,9k arquivos/s | 172,9ms, 174,3ms, 178,8ms, 180,3ms, 180,1ms |
Compilação grande de SFC
| Variante | Mediana | Taxa de transferência | Corridas medidas brutas |
|---|---|---|---|
| @vue/compilador-sfc (1T) | 192,6ms | 5 arquivos/s | 192,6ms, 192,6ms, 197,2ms, 195,9ms, 190,7ms |
| @vue/compilador-sfc (1 trabalhador) | 479,8ms | 2 arquivos/s | 468,3ms, 475,4ms, 479,8ms, 555,9ms, 493,1ms |
| Loop nativo Vize (1T) | 62,6ms | 16 arquivos/s | 62,6ms, 55,1ms, 65,2ms, 57,1ms, 65,0ms |
| Resultados nativos em lote do Vize (máximo) | 56,3ms | 18 arquivos/s | 54,8ms, 54,3ms, 56,3ms, 56,4ms, 56,8ms |
| Vize apenas para estatísticas nativas em lote (core max) | 55,7ms | 18 arquivos/s | 56,7ms, 53,4ms, 55,7ms, 55,3ms, 55,8ms |
Verificação grande do tipo SFC
| Variante | Mediana | Taxa de transferência | Corridas medidas brutas |
|---|---|---|---|
| Vue-TSC | 1,69s | 1 arquivo/s | 1,70s, 1,72s, 1,68s, 1,62s, 1,69s |
| Cheque de Vize (1T) | 178,7ms | 6 arquivos/s | 176,2ms, 178,4ms, 179,1ms, 189,4ms, 178,7ms |
| Cheque de Vize (máximo) | 178,0ms | 6 arquivos/s | 177,7ms, 178,0ms, 177,5ms, 189,5ms, 194,5ms |
Fiapos
| Variante | Mediana | Taxa de transferência | Corridas medidas brutas |
|---|---|---|---|
| eslint-plugin-vue (1T) | 54,32s | 276 arquivos/s | 54.32s, 54.44s, 53.47s, 54.35s, 54.06s |
| eslint-plugin-vue (32 trabalhadores) | 13,47s | 1.1k arquivos/s | 13,41s, 13,61s, 13,63s, 13,26s, 13,47s |
| Fiapo Vize (1T) | 1,91s | 7,9k arquivos/s | 1,88s, 1,84s, 1,91s, 1,91s, 1,97s |
| Fiapos Vize (máximo) | 279,3ms | 53.7k arquivos/s | 275,8ms, 272,1ms, 287,9ms, 287,1ms, 279,3ms |
Formato
| Variante | Mediana | Taxa de transferência | Corridas medidas brutas |
|---|---|---|---|
| Prettier CLI | 143,61s | 104 arquivos/s | 142,61s, 142,38s, 143,61s, 145,98s, 144,94s |
| Vize FMT (1T) | 10,15s | 1,5k arquivos/s | 10,10s, 10,26s, 10,15s, 10,43s, 9,82s |
| Vize FMT (max) | 1,79s | 8.4k arquivos/s | 1,78s, 1,79s, 1,82s, 1,82s, 1,78s |
Verificação de tipo
| Variante | Mediana | Taxa de transferência | Corridas medidas brutas |
|---|---|---|---|
| Vue-TSC | 5,36s | 93 arquivos/s | 5,46s, 5,36s, 5,50s, 5,34s, 5,36s |
| Cheque de Vize (1T) | 500,5ms | 999 arquivos/s | 489,1ms, 513,6ms, 500,5ms, 504,0ms, 491,2ms |
| Cheque de Vize (máximo) | 430,1ms | 1.2k arquivos/s | 427,4ms, 430,1ms, 421,3ms, 438,8ms, 431,3ms |
Build Vite (de ponta a ponta)
| Variante | Mediana | Taxa de transferência | Corridas medidas brutas |
|---|---|---|---|
| @vitejs/plugin-vue | 1,66s | 601 arquivos/s | 1,65s, 1,61s, 1,69s, 1,66s, 1,95s |
| @vizejs/vite-plugin | 732,5ms | 1.4k arquivos/s | 732,5ms, 713,2ms, 746,2ms, 691,9ms, 752,8ms |
Build Nuxt SPA (de ponta a ponta)
| Variante | Mediana | Taxa de transferência | Corridas medidas brutas |
|---|---|---|---|
| Compilador padrão Nuxt | 6,79s | 74 arquivos/s | 6,74s, 6,73s, 6,86s, 6,89s, 6,79s |
| @vizejs/NUXT | 6,42s | 78 arquivos/s | 6,36s, 6,42s, 6,31s, 6,50s, 6,50s |