Execution Time
See how long every node actually took, as a badge on the graph
- execution_time
Execution Time is a performance-measuring node, and it's a clever piece of work that breaks every rule custom nodes usually follow. Drop it in, run your workflow, and it badges every node on the canvas with how long it took - green for per-node time, red for the total run - while also printing the numbers to your ComfyUI console. The README credits the timing code to ty0x2333's ComfyUI-Dev-Utils, and the node is a note of thanks to that author. The pack's added value is that you can turn the display off in settings when it gets noisy.
Here's the part that makes it unusual: the node itself does nothing. Its process() returns an empty string. All the real work happens through monkey-patching - the pack's __init__.py loads a JavaScript extension (executionTime.js), and the Python side wraps ComfyUI's internal execution.execute and PromptServer.send_sync to measure each node's execution time and the total workflow time, then pushes those numbers to the frontend as custom events. The ExecutionTime node you place on the canvas is mostly a trigger/handler that the JS listens for. That's why it's categorized under utils with no inputs and no outputs.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/yiwangsimple/ComfyUI_GroqChat
restart. The JS extension and the timing wrapper install with the pack. If you don't see badges, check that the pack's web folder survived (it holds executionTime.js) and that ComfyUI restarted after install.
The honest caveat
Because it monkey-patches core execution internals, this is the node most likely to collide with other packs that do the same thing. If you already run a performance/analytics extension, expect conflicts - duplicate badges or, worst case, a failed run. If that happens, this node is the one to disable. Also note the node's own output is an empty string; people sometimes expect it to return a number and get confused. The real deliverable is on the canvas and in the console, not in the graph's data flow. For the beginner trying to figure out why a workflow is slow - is it the sampler or the upscaler? - it's a genuinely useful tool, just be ready to disable it the day a mysterious breakage appears.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| execution_time | STRING | — |