Timer Node KJ(TimerNodeKJ)
This node internally calls Python's time。
Timer Node KJ
Timer Node KJ is a utility node designed to measure the execution time of specific segments within a workflow. It allows users to start and stop timers, thereby quantifying the duration of processing steps to aid in performance analysis and optimization.
Node Functionality
This node internally calls Python's time.time() function to record timestamps. Its core mechanism relies on a TIMER object, which is created and initialized in "start" mode, and calculates and returns the elapsed time in milliseconds from start to stop in "stop" mode. The node is designed to pass through data streams of any type, ensuring seamless integration into existing workflows without interrupting data processing. An optional timer input allows chaining timer instances, so that the timer state can be passed from one node to another for sequential measurements.
Node Parameter Description - Timer Node KJ
Inputs
| Parameter Name | Data Type | Required | Default Value | Range/Options | Description |
|---|---|---|---|---|---|
any_input | IO | Yes | - | - | any_input (Input Parameter): Accepts input data of any type. The node passes it through unchanged to the output without affecting the timing functionality. |
timer | TIMER | No | - | - | timer (Input Parameter): Optional input to receive an existing TIMER object from another Timer node. Use this to chain multiple timer nodes together for sequential timing. Leave disconnected for a standalone timer. |
Control Parameters (Parameters)
| Parameter Name | Data Type | Required | Default Value | Range/Options | Description |
|---|---|---|---|---|---|
mode | COMBO | Yes | start | "start", "stop" | mode (Input Parameter): Sets the timer's operating mode. Options are "start" (start a new timer) or "stop" (stop the current timer and calculate the result). |
name | STRING | Yes | Timer | - | name (Input Parameter): Specifies a name for the current timer to facilitate distinction among multiple timing tasks. The default name is "Timer". |
Output
| Parameter Name | Data Type | Description |
|---|---|---|
| any_output | ANY | any_output (Output Parameter): Outputs the data received from any_input unchanged, ensuring workflow data continuity. |
| timer | TIMER | timer (Output Parameter): Outputs the TIMER object in its current state, used to pass the timer instance between nodes for chaining. |
| time | INT | time (Output Parameter): In "stop" mode, outputs the timing result as an integer value in milliseconds; in "start" mode, outputs 0. |
Usage Scenarios
When building complex workflows, you can use this node to diagnose bottlenecks. For example, break down an image generation process and place this node before and after steps like "Load Model" and "Generate Image," setting it to "start" and "stop" modes respectively. By connecting the TIMER object, you can measure the specific duration of each substep, thereby identifying the most time-consuming segments. The optional timer input allows you to chain subsequent measurements without losing the timer state.
Notes
When using this node, ensure that the TIMER object is correctly connected between nodes in "start" and "stop" modes to pass the timing state. Incorrect connections or mode settings may cause the timing functionality to malfunction or return a value of zero.
Timer Node KJ Source Code Link
The Timer Node KJ node is from the ComfyUI-KJNodes node package.
Comments
Sign in with GitHub to join the discussion.