Vize

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

Formatage

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