Skip to main content
Performance Tests は、ComfyUI ワークフローがお使いのインスタンスの 1 つで実行されるのにかかる時間を測定します。インスタンスを選択し、ワークフローを読み込むと、Comfy Desktop がそれを指定した実行回数だけ実行し、測定対象の各実行を計測して、最速、最遅、平均、中央値の所要時間を、その数値の基になったハードウェアとソフトウェアとともに報告します。 Benchmarks は、記録されたこれらの結果を比較します。保存されたすべての実行を一覧表示し、ワークスペース、インスタンス、ハードウェア、またはワークフローでフィルタリングし、選択済みの実行を相対速度係数とともに並べて表示するので、ある GPU、ワークフロー、インスタンスが別のものよりどれだけ速いかを確認できます。 どちらのパネルもアプリメニューから開きます。左上隅の ☰ メニューをクリックし、Performance Tests または Benchmarks を選択します。 ハンバーガーメニューを開いた Dashboard:(1) タイトルバーの ☰ ボタン、(2) Performance Tests 項目
Performance Tests は実際のインスタンスで実際のワークフローを実行するため、テストにかかる時間は、ワークフロー自体の時間に実行回数を掛けた程度になります。インポートするワークフローは、事前に API 形式 でエクスポートしておく必要があります。Comfy Desktop に同梱のサンプルワークフローは、すでにこの形式です。

パフォーマンステストの実行

パネルは3つの番号付きステップが横並びで構成されています。ウィンドウが狭いときは縦に積み重なります。 インスタンスを選択した状態の Performance Tests パネル(3つの番号付きステップ)

1. インスタンスを選択

テストするワークスペースとインスタンスを選択します。インスタンスとそのハードウェアは結果とともに記録されるため、後で比較する際に意味を持ちます。異なるGPUでの実行を区別したまま保てます。 テストを開始すると、Comfy Desktop はそのインスタンスの前回のパフォーマンステストセッションがまだ実行中であれば停止し、そのインスタンスをコンソールセッションで起動します。他のローカル ComfyUI が実行中、起動中、または停止中である間はテストの開始を拒否し、妨げになっているインスタンスを通知に表示します。それらを停止するか、起動または停止が完了するのを待ってから、もう一度テストを実行してください。Comfy Cloud やリモートのインスタンスは別の場所で実行されるため、テストを妨げません。ゲームや動画の書き出しなど、GPU を占有する他の作業は測定値に影響するため、テストを実行する前に停止してください。

2. ワークフローを選択

Comfy Desktop に同梱のサンプルワークフローを選ぶか、自分のワークフローを持ち込むかを選べます。 サンプルワークフローはすぐに実行でき、必要なモデルは自動でダウンロードされます。Choose an example workflow をクリックするとピッカーが開きます。ピッカーはサンプルをモダリティ別のタブ(Video、Image、3D、Audio。例があるモダリティにのみタブが表示されます)に分類し、各カードにはサンプルの名前、タスク、モデルのダウンロードサイズが表示されます。Use workflow をクリックして 1 つ選択します。その後 Comfy Desktop がワークフローに不足しているモデルをダウンロードし、ドロップゾーンに完了までの進行状況が表示されます。サンプルを使うには、インスタンスのインストールが完了していて、オンラインである必要があります。モデルが空きディスク容量に収まらない場合、ピッカーは選択をブロックします。サンプルワークフローはインスタンスに紐づきます。別のインスタンスに切り替えると、前のインスタンス用に準備したサンプルは破棄されます。ただし、そのサンプルのセッションにすでに結果が記録されている場合は残ります。 自分のワークフローを使う場合は、あらかじめ API フォーマット でエクスポートしておく必要があります。.json ファイルをドロップゾーンにドロップするか、ゾーンをクリックしてファイルを選択します。 モダリティタブとモデルサイズを示すカードを備えたサンプルワークフローの選択画面 どちらの方法でも、Comfy Desktop はワークフローをテストセッションフォルダーにコピーするため、オリジナルのファイルを移動したり編集した後でもテストは実行されます。

3. 測定設定を行う

各実行はワークフローの数値シード入力を1ずつ進めるため、測定実行で同一のキャッシュ結果が繰り返されることはありません。 3つのステップを設定したら、Run をクリックしてテストを開始します。隣の Stop ボタンで進行中のテストを中止できます。

結果を確認する

テストの実行中、パネルには完了した実行数とインスタンスのログが表示されます。すべての実行が完了すると、インスタンスは停止し、結果が表示されます。
  • 最速実行、最遅実行、平均実行、中央値実行(秒単位)
  • 測定実行と失敗実行: 所要時間が得られた実行数と、得られなかった実行数
  • 実行所要時間の集計: 4つの集計値(最速、最も遅い、平均、中央値)を比較する棒グラフ
  • システム情報: コンピュートデバイス、VRAM、RAM、PyTorchバージョン、xFormersバージョン、CPU、CPUコア数、オペレーティングシステム、アーキテクチャ
実行の所要時間とは、ComfyUI がサーバー上でジョブを実行するのに費やした時間であり、あなたが待った時間ではありません。失敗した実行は別途カウントされ、統計からは除外されます。 結果とともに2つのボタンが表示されます。フォルダーを開くはセッションフォルダーを開き、結果をエクスポートはサマリーとチャートをPNG画像として保存します。

ベンチマークで実行結果を比較する

ベンチマークはパフォーマンステストが保存した結果を読み込むため、少なくとも1つのテストが完了するまで表示する内容はありません。

実行ライブラリ

実行ライブラリには、結果フォルダーに保存されたすべての実行が新しい順に一覧表示されます。ツールバーには次のものがあります:
  • フォルダーを選択:パネルの参照先を別の結果フォルダー(たとえば共有ドライブ上のフォルダー)に変更します。既定では、パフォーマンステストが書き込むフォルダーです。詳しくは結果の保存場所を参照してください。
  • セッションを更新:別の場所でテストが完了した後にフォルダーを再読み込みします。
  • 実行を検索:テキストで一覧を絞り込みます。
  • ワークスペース、インスタンス、ハードウェア、ワークフローで絞り込むドロップダウンフィルター。
  • プロパティ:ライブラリに表示する列(セッション、日付と時間、ワークフロー、インスタンス、ワークスペース、実行回数、GPUとハードウェア)を選択します。
フィルターと保存された実行の一覧表を備えた Benchmarks の実行ライブラリ

実行を比較する

チェックボックスで2つ以上の実行を選択するか、表示中のすべての実行を選択を使用します。ライブラリの読み込み時には、最新の3つの実行が自動的に選択されます。選択すると、ライブラリの下に比較セクションが開きます。 比較では、選択した実行ごとに1つの列が、メトリクスの行と並べて表示されます。行には最速、平均、中央値、最も遅い所要時間、および測定された実行回数があります。1つの実行がベースラインになります。既定では、最初に表示される列がベースラインです。速度ビューで列見出しをクリックすると、代わりにその実行をベースラインにできます。

相対速度

比較には所要時間と速度の 2 つのビューがあり、比較ツールバーで切り替えます。相対速度は速度ビューに属し、ベースラインもこのビューで選択します。 相対速度は、ベースラインの所要時間をその実行の所要時間で割った値です:
  • 1.00× は、その実行がベースラインと同じ速度であることを意味します
  • 1.00× より大きい係数は、その実行がベースラインより高速であることを意味します
  • 1.00× より小さい係数は、その実行がベースラインより低速であることを意味します
速度ビューは各実行を対数軸上にプロットし、左に低速、右に高速が来るようにするため、2xと4xの差も同じチャート上で読み取れます。所要時間ビューでは、各実行の最速と最も遅い結果が線として描画され、平均がマークされます。有効な所要時間がない実行は利用不可と表示されます。 1つの実行をベースライン、別の実行をより低速として示す Benchmarks の相対速度ビュー

並び替えとエクスポート

  • 比較を並び替えは、列を相対速度順に並べます。手動並び替えでは、列をドラッグして任意の順序にできます。または、フォーカスした列で Alt+Left / Alt+Right を押します。
  • 結果をエクスポートは、比較全体をPNG画像として保存します。結果をIssueやチャットメッセージに添付する最短の方法です。

セッションの管理

各テストはセッションとして保存されます。ライブラリから、セッションの名前を変更したり(セッションを編集)、削除したり(削除)できます。削除すると、そのセッションに記録されたすべてのファイルが削除されます。

結果の保存場所

Performance Tests は、ワークフローをパネルに追加したときにセッションフォルダーを作成し、その時点のタイムスタンプ(YYYYMMDDHHMMSS)を名前として付けます。
各セッションフォルダーには次のものが含まれます。
  • パネルが使用したワークフローファイル
  • jobs.json: インスタンスから返された生のジョブ応答
  • results.json: Benchmarks パネルが読み取るサマリー
  • logs.txt: 実行時のインスタンスのコンソール出力
Benchmarks は見つけたすべてのセッションフォルダーから results.json を読み取るため、セッションフォルダーを Benchmarks が参照するフォルダーにコピーするだけで、別のマシンの結果と比較できます。 同じインポート済みワークフローをもう一度実行すると、結果は同じセッションフォルダーに書き込まれ、そこに保存されている結果が上書きされます。比較用に結果を残したい場合は、次のテストの前にワークフローをもう一度パネルに追加してください。

要件

  • Comfy Desktop が起動できるスタンドアロン、追跡対象、またはリモートのインスタンス。テストには動作する ComfyUI インスタンスが必要なため、クラウドインスタンスに対して実行することはできません。
  • インスタンスが実行できるワークフロー。必要なモデルやカスタムノードも含みます。インポートするワークフローは API 形式である必要があります。サンプルワークフローはすでにその形式で、Comfy Desktop がモデルをダウンロードします。インスタンスがワークフローを拒否した場合、テストは停止し、エラーはログに表示されます。インスタンスが受け付けたものの実行中に失敗した実行は、失敗実行としてカウントされ、所要時間の統計から除外されます。