Timer Node KJ(TimerNodeKJ)
このノードは、内部でPythonのtimeを呼び出します。
Timer Node KJ
Timer Node KJ は、ワークフロー内の特定のセグメントの実行時間を計測するためのユーティリティノードです。ユーザーはタイマーを開始および停止することで、処理ステップの所要時間を定量化し、パフォーマンス分析と最適化に役立てることができます。
ノード機能
このノードは、内部で Python の time.time() 関数を呼び出してタイムスタンプを記録します。その中核となるメカニズムは TIMER オブジェクトに依存し、「start」モードで作成・初期化され、「stop」モードで開始から停止までの経過時間をミリ秒単位で計算して返します。このノードは任意のタイプのデータストリームを通過させるように設計されており、既存のワークフローにデータ処理を中断することなくシームレスに統合できます。オプションの timer 入力によりタイマーインスタンスをチェーン接続できるため、タイマーの状態をあるノードから別のノードに渡して順次測定を行うことができます。
ノードパラメータ説明 - Timer Node KJ
入力
| パラメータ名 | データ型 | 必須 | デフォルト値 | 範囲/オプション | 説明 |
|---|---|---|---|---|---|
any_input | IO | はい | - | - | any_input(入力パラメータ):任意のタイプの入力データを受け取ります。このノードはタイマー機能に影響を与えることなく、そのデータをそのまま出力に渡します。 |
timer | TIMER | いいえ | - | - | timer(入力パラメータ):別のTimerノードから既存の TIMER オブジェクトを受け取るためのオプション入力です。複数のTimerノードをチェーン接続して順次計測するために使用します。スタンドアロンのタイマーとして使用する場合は切断したままにします。 |
制御パラメータ(パラメータ)
| パラメータ名 | データ型 | 必須 | デフォルト値 | 範囲/オプション | 説明 |
|---|---|---|---|---|---|
mode | COMBO | はい | start | "start", "stop" | mode(入力パラメータ):タイマーの動作モードを設定します。オプションは "start"(新しいタイマーを開始)または "stop"(現在のタイマーを停止して結果を計算)です。 |
name | STRING | はい | Timer | - | name(入力パラメータ):現在のタイマーの名前を指定し、複数のタイマータスクを区別しやすくします。デフォルトの名前は "Timer" です。 |
出力
| パラメータ名 | データ型 | 説明 |
|---|---|---|
| any_output | ANY | any_output(出力パラメータ):any_input で受け取ったデータをそのまま出力し、ワークフローのデータ連続性を保証します。 |
| timer | TIMER | timer(出力パラメータ):現在の状態の TIMER オブジェクトを出力します。ノード間でタイマーインスタンスを渡してチェーン接続するために使用します。 |
| time | INT | time(出力パラメータ):「stop」モードでは、計測結果をミリ秒単位の整数値で出力します。「start」モードでは0を出力します。 |
使用シナリオ
複雑なワークフローを構築する際、このノードを使用してボトルネックを診断できます。例えば、画像生成プロセスを分解し、「モデル読み込み」や「画像生成」などのステップの前後にこのノードを配置し、それぞれを "start" モードと "stop" モードに設定します。TIMER オブジェクトを接続することで各サブステップの具体的な所要時間を計測し、最も時間のかかるセグメントを特定できます。オプションの timer 入力により、タイマー状態を失うことなく後続の計測をチェーン接続できます。
注意事項
このノードを使用する際は、「start」モードと「stop」モードのノード間で TIMER オブジェクトが正しく接続され、タイマーの状態が渡されるようにしてください。接続が正しくないかモード設定が誤っている場合、タイマー機能が正常に動作しないか、ゼロ値が返される可能性があります。
Timer Node KJ ソースコードリンク
Timer Node KJ ノードは、ComfyUI-KJNodes ノードパッケージに含まれています。
コメント
GitHubでサインインしてディスカッションに参加しましょう。