Skip to content

原文(日本語に翻訳)

Yoga WASMとUIコンポーネントのインポートを遅延させることで、ヘッドレスモード(-p フラグ)の起動パフォーマンスを改善しました。

原文(英語)

Improved startup performance for headless mode (-p flag) by deferring Yoga WASM and UI component imports

概要

-p フラグを使用した非インタラクティブ(ヘッドレス)モードで、UIレイアウトエンジン(Yoga WASM)とUIコンポーネントのロードが遅延(lazy load)されるようになりました。ヘッドレスモードではこれらのコンポーネントが不要なため、起動時間が短縮されます。CI/CDパイプラインや自動化スクリプトでClaudeを使用する際に特に効果的です。

基本的な使い方

-p フラグを使用したヘッドレス実行で自動的に最適化されます。

bash
# ヘッドレスモードでの実行(起動が高速化)
claude -p "コードをレビューして問題点を報告してください"

# または --print フラグ
claude --print "テストを実行して結果を教えてください"

# 出力をパイプで処理する場合も同様
claude -p "ファイルの変更点を要約して" | tee review.md

実践例

ユースケース1: CI/CDパイプラインでの高速実行

GitHubActionsやJenkinsなどのCI環境でのClaudeの高速化。

yaml
# .github/workflows/code-review.yml
name: Code Review

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Claude Code Review
        run: |
          # v2.1.50以降: ヘッドレスモードの起動が高速化
          claude -p "この変更をレビューして問題点を報告してください" \
            --output-format json > review.json

          cat review.json

ユースケース2: シェルスクリプトでの連続実行

複数のClaudeコマンドを連続実行する自動化スクリプト。

bash
#!/bin/bash
# automated-checks.sh

echo "コード品質チェック開始..."

# 各チェックでの起動時間が短縮される
echo "1. コードレビュー..."
claude -p "src/ ディレクトリのコード品質をチェックして" > quality-report.txt

echo "2. セキュリティ診断..."
claude -p "セキュリティの脆弱性を診断して" > security-report.txt

echo "3. パフォーマンス分析..."
claude -p "パフォーマンスのボトルネックを分析して" > perf-report.txt

echo "チェック完了"

ユースケース3: バッチ処理での効率化

多数のファイルを順番に処理するバッチスクリプト。

bash
#!/bin/bash
# batch-review.sh

# 変更されたファイルを取得
changed_files=$(git diff --name-only HEAD~1)

for file in $changed_files; do
  echo "レビュー中: $file"

  # 各ファイルへのClaude呼び出しが高速化
  claude -p "$(cat $file) このコードをレビューして" \
    >> review-results.txt
done

echo "全ファイルのレビュー完了"

注意点

  • この改善は -p / --print フラグを使用したヘッドレスモードのみに適用されます。インタラクティブモード(claude を単体で実行)では適用されません。
  • Yoga WASMはUIレイアウト計算に使用されます。ヘッドレスモードではターミナルUIを表示しないため、このコンポーネントは不要です。
  • 起動時間の短縮量はシステムのI/O性能やNode.jsのモジュールキャッシュ状態によって異なります。
  • 機能的な変更はありません。単純に起動時の不要なコンポーネントのロードが遅延されます。

関連情報