Blacksmith ベンチマーク スナップショット
このページはツール ベンチマーク ワークフローから生成されるため、公開されたパフォーマンス数値では 1 つの再現可能なランナー、入力コーパス、およびコミットを引用できます。
最新の結果
測定値: 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 | ヴィゼマックス | スピードアップ |
|---|---|---|---|---|---|---|
| SFCコンパイル | 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 | vue-tsc | 5.36秒 | 500.5ミリ秒 | 430.1ミリ秒 | 12.5倍 |
| Vite ビルド (エンドツーエンド) | 1,000 | @vitejs/plugin-vue | 1.66秒 | 該当なし | 732.5ミリ秒 | 2.3倍 |
| Nuxt SPA ビルド (エンドツーエンド) | 500 | Nuxt のデフォルトのコンパイラ | 6.79秒 | 該当なし | 6.42秒 | 1.1倍 |
公平性に関する注意事項:
すべてのツールは、同じチェックアウトとロックファイルから生成された同じ Vue SFC コーパス上で実行されます。
15,000 SFC 行は、多数のファイルのワークロードです。大きな SFC 行は 1 つの大きなコンポーネントを分離します。
報告された時間は中央値です。ウォームアップ実行後の測定実行ではバリアント順序が変更されます。
破壊的なフォーマッタの実行では、各呼び出しの前に同じ入力の新しいコピーを受け取ります。
SFC コンパイル Vize max は
compileSfcBatchWithResultsウォールタイムを使用するため、主な数値には JS/ネイティブの境界を越えて生成された出力が含まれます。統計のみのネイティブtimeMsは、バリアントの詳細でのみ表示されます。Vite のビルド タイミングにはフィクスチャのコピー/セットアップは含まれません。 Vize max レーンは
precompileBatchSizeをベンチマーク ファイル数に設定するため、Blacksmith max はメモリセーフなデフォルト チャンクの代わりに 1 つのネイティブ プリコンパイル バッチを実行します。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.8ms、272.9ms、302.8ms、274.7ms、302.9ms |
| Vize ネイティブ バッチ統計のみ (コア最大値) | 178.8ミリ秒 | 83.9k ファイル/秒 | 172.9ms、174.3ms、178.8ms、180.3ms、180.1ms |
大規模な SFC コンパイル
| バリアント | 中央値 | スループット | 生の測定された実行 |
|---|---|---|---|
| @vue/compiler-sfc (1T) | 192.6ミリ秒 | 5 ファイル/秒 | 192.6ms、192.6ms、197.2ms、195.9ms、190.7ms |
| @vue/compiler-sfc (1 ワーカー) | 479.8ミリ秒 | 2 ファイル/秒 | 468.3ms、475.4ms、479.8ms、555.9ms、493.1ms |
| Vize ネイティブ ループ (1T) | 62.6ミリ秒 | 16 ファイル/秒 | 62.6ms、55.1ms、65.2ms、57.1ms、65.0ms |
| Vize ネイティブ バッチ結果 (最大) | 56.3ミリ秒 | 18 ファイル/秒 | 54.8ミリ秒、54.3ミリ秒、56.3ミリ秒、56.4ミリ秒、56.8ミリ秒 |
| Vize ネイティブ バッチ統計のみ (コア最大値) | 55.7ミリ秒 | 18 ファイル/秒 | 56.7ms、53.4ms、55.7ms、55.3ms、55.8ms |
大型SFCタイプチェック
| バリアント | 中央値 | スループット | 生の測定された実行 |
|---|---|---|---|
| vue-tsc | 1.69秒 | 1 ファイル/秒 | 1.70秒、1.72秒、1.68秒、1.62秒、1.69秒 |
| ヴィゼチェック(1T) | 178.7ミリ秒 | 6 ファイル/秒 | 176.2ms、178.4ms、179.1ms、189.4ms、178.7ms |
| ヴィゼチェック(最大) | 178.0ミリ秒 | 6 ファイル/秒 | 177.7ms、178.0ms、177.5ms、189.5ms、194.5ms |
糸くず
| バリアント | 中央値 | スループット | 生の測定された実行 |
|---|---|---|---|
| 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秒 |
| Vize lint (最大) | 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秒 |
| Vize 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.1ms、513.6ms、500.5ms、504.0ms、491.2ms |
| ヴィゼチェック(最大) | 430.1ミリ秒 | 1.2k ファイル/秒 | 427.4ms、430.1ms、421.3ms、438.8ms、431.3ms |
Vite ビルド (エンドツーエンド)
| バリアント | 中央値 | スループット | 生の測定された実行 |
|---|---|---|---|
| @vitejs/plugin-vue | 1.66秒 | 601 ファイル/秒 | 1.65秒、1.61秒、1.69秒、1.66秒、1.95秒 |
| @vizejs/vite-plugin | 732.5ミリ秒 | 1.4k ファイル/秒 | 732.5ms、713.2ms、746.2ms、691.9ms、752.8ms |
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秒 |