Instantané des benchmarks Blacksmith
Un seul artefact versionné alimente le README et toutes les langues. Le nombre de fichiers est indiqué par ligne.
| Machine |
Date |
Mesures |
Préchauffages |
blacksmith-32vcpu-ubuntu-2404 (32 CPU) |
2026-09-16T08:19:25.262Z |
3 |
1 |
Actions · f9cc50ee2e2f · JSON
| Mesure |
Fichiers |
Outil comparé |
Médiane comparée |
Vize 1T |
Vize max |
Rapport |
| Compilation SFC |
3,000 |
@vue/compiler-sfc (1T) |
3.57s |
835.3ms |
65.0ms |
54.8x |
| Compilation SFC volumineux |
1 |
@vue/compiler-sfc (1T) |
61.4ms |
16.3ms |
15.2ms |
4.0x |
| Vérification SFC volumineux |
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 |
| Formatage |
3,000 |
Prettier CLI |
29.72s |
1.07s |
351.4ms |
84.6x |
| Vérification des types |
500 |
vue-tsc |
6.75s |
2.03s |
1.37s |
4.9x |
| Build Vite |
1,000 |
@vitejs/plugin-vue |
1.66s |
n/a |
889.2ms |
1.9x |
| Build 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 |
Les rapports de vérification des types comparent Vize et vue-tsc, le vérificateur qu'utilisent aujourd'hui les projets Vue. vue-tsc s'appuie sur le compilateur TypeScript en JavaScript tandis que Vize s'appuie sur tsgo natif : le rapport porte donc sur toute la chaîne d'outils et non sur la seule couche Vue ; les tableaux par classe de moteur de l'instantané complet classent les outils d'un même moteur entre eux pour isoler cette couche. Chaque exécution chronométrée valide le travail de diagnostic, mais la couverture varie selon les outils. Ces rapports ne prouvent ni une précision équivalente ni un gain par rapport à une ancienne version de Vize. Aucun temps ni classement n'est publié pour les comparateurs rejetés.
Méthodologie et résultats complets
Versions des outils et sommes de contrôle
| Outil |
Version |
SHA-256 du binaire |
| 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).
Validation du travail de diagnostic
Vérification SFC volumineux: classement séparé par moteur
| Classe de moteur |
Variante |
Médiane |
Rapport au plus rapide de la classe |
| Moteur TypeScript JavaScript (tsc) |
vue-tsc |
1.34s |
1.00x |
| Moteur TypeScript natif (tsgo) |
Vize check (1T) |
186.4ms |
1.00x |
| Moteur TypeScript natif (tsgo) |
Vize check (max) |
190.1ms |
1.02x |
| Moteur TypeScript natif (tsgo) |
verter-tsc |
1.58s |
8.48x |
Les rapports comparent uniquement les outils utilisant le même moteur tsgo natif. La couverture des diagnostics peut différer : cela ne démontre pas une précision équivalente. vue-tsc, qui utilise le moteur TypeScript JavaScript, figure comme référence chronométrée lors de la même exécution, sans rapport entre moteurs différents.
Golar typecheck (validation préalable): rejeté lors de la validation ; aucun temps ni classement publié.
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) (validation préalable): rejeté lors de la validation ; aucun temps ni classement publié.
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'."]]}
Validation du travail de vérification des types (templates stricts ; avant préchauffage ; diagnostics revérifiés à chaque exécution) :
| Variante |
Erreurs minimales injectées |
Injection dans le corpus |
Diagnostics |
Code de sortie |
SHA-256 des diagnostics |
| vue-tsc |
4 |
réussie |
300 |
2 |
508e4fa9ce85b1cd8051ee934c78c5bc2a9dd3a8ac7ff4b44f3d8dcf7263a2eb |
| verter-tsc |
4 |
réussie |
0 |
0 |
6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87 |
| Vize check (1T) |
4 |
réussie |
0 |
0 |
6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87 |
| Vize check (max) |
4 |
réussie |
0 |
0 |
6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87 |
Vérification des types: classement séparé par moteur
| Classe de moteur |
Variante |
Médiane |
Rapport au plus rapide de la classe |
| Moteur TypeScript JavaScript (tsc) |
vue-tsc |
6.75s |
1.00x |
| Moteur TypeScript natif (tsgo) |
Vize check (max) |
1.37s |
1.00x |
| Moteur TypeScript natif (tsgo) |
Vize check (1T) |
2.03s |
1.47x |
| Moteur TypeScript natif (tsgo) |
verter-tsc |
2.08s |
1.51x |
Les rapports comparent uniquement les outils utilisant le même moteur tsgo natif. La couverture des diagnostics peut différer : cela ne démontre pas une précision équivalente. vue-tsc, qui utilise le moteur TypeScript JavaScript, figure comme référence chronométrée lors de la même exécution, sans rapport entre moteurs différents.
Golar typecheck (validation préalable): rejeté lors de la validation ; aucun temps ni classement publié.
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) (validation préalable): rejeté lors de la validation ; aucun temps ni classement publié.
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'."]]}
Validation du travail de vérification des types (templates stricts ; avant préchauffage ; diagnostics revérifiés à chaque exécution) :
| Variante |
Erreurs minimales injectées |
Injection dans le corpus |
Diagnostics |
Code de sortie |
SHA-256 des diagnostics |
| vue-tsc |
4 |
réussie |
450 |
2 |
ca130bc55a0235c3dada35ca3a7aca8558f63858d7d03ec3ec586f4828773dd5 |
| verter-tsc |
4 |
réussie |
4250 |
1 |
7f6641e728fa345abc3ac7eebb7f77a5e694c0cdaf81bf951c8829c0b2c32cfe |
| Vize check (1T) |
4 |
réussie |
0 |
0 |
6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87 |
| Vize check (max) |
4 |
réussie |
0 |
0 |
6f6df0f8037998d14783ed2bdf8e9cf61e2837b6b595f5f53c8933069ef0dc87 |
Variantes et mesures brutes
Compilation SFC
| Variante |
Médiane (ms) |
Exécutions (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 |
Compilation SFC volumineux
| Variante |
Médiane (ms) |
Exécutions (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 |
Vérification SFC volumineux
| Variante |
Médiane (ms) |
Exécutions (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
| Variante |
Médiane (ms) |
Exécutions (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 |
| Variante |
Médiane (ms) |
Exécutions (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 |
Vérification des types
| Variante |
Médiane (ms) |
Exécutions (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 |
Build Vite
| Variante |
Médiane (ms) |
Exécutions (ms) |
| @vitejs/plugin-vue |
1656.557 |
1656.557, 1600.439, 1730.685 |
| @vizejs/vite-plugin |
889.18 |
889.18, 881.988, 947.765 |
Build Nuxt
| Variante |
Médiane (ms) |
Exécutions (ms) |
| Nuxt default compiler |
3067.515 |
3083.42, 3067.515, 3057.014 |
| @vizejs/nuxt |
3213.326 |
3259.084, 3213.326, 3176.535 |
Musea
| Variante |
Médiane (ms) |
Exécutions (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 |