Start Clock (mtb)
Time part of your workflow without leaving ComfyUI
- passthrough
- passthrough
- clock_id
Want to know how long your upscale pass actually takes, or which half of a big workflow is eating the GPU time, without tailing logs or reaching for an external profiler? Start Clock is a stopwatch you drop directly into the graph.
How it works
Start Clock begins a named timer and hands back a clock_id - a token that a matching End Clock node (part of the same pack, named directly in Start Clock's own description, not covered in this article) uses to know which timer to stop and report on. It's a two-node pair: Start Clock marks the beginning, End Clock marks the end and prints the elapsed time.
Inputs and outputs
name- a label for the timer, default"Clock A". Useful when you're running more than one clock in the same graph and need to tell them apart in the output.cache- controls whether the timing gets cached across re-runs; leave it off if you want a fresh measurement on every single queue.passthrough(optional, accepts any type) - the clever bit. Wire literally anything through this input and it comes back out unchanged on thepassthroughoutput. That means you can insert Start Clock directly into an existing wire - between your model loader and your sampler, say - without breaking the connection or restructuring your graph. The clock just rides along.
Outputs: passthrough (your value, untouched) and clock_id (a STRING you feed into the matching End Clock node).
Why bother
If you're running on metered GPU time - which, if you're reading this on comfy.icu, you are - knowing exactly which stage of your workflow is expensive matters. "The whole run took 40 seconds" tells you nothing actionable; "the upscale pass alone is 25 of those 40 seconds" tells you where to optimize. Start/End Clock gets you that breakdown without external tooling, right in the ComfyUI console.
Installing it
ComfyUI Manager: search "MTB Nodes," install, restart. Manual clone:
cd ComfyUI/custom_nodes
git clone https://github.com/melMass/comfy_mtb
then restart. If it's missing from your node list after that, go into the comfy_mtb folder and run pip install -r requirements.txt - that clears up most "installed via Manager but nodes don't show up" reports for this pack.
Common issues
This node has no external dependencies beyond the pack's base install, so it's not usually the thing that fails to load - if you see the generic "some nodes could not be loaded" startup message, that's almost certainly about the optional face-swap/DeepBump extras, not this one. The one thing to remember: Start Clock is useless on its own - it needs its End Clock partner wired in downstream with the matching clock_id, or you'll get a clock_id output going nowhere and no timing report at all. And because passthrough accepts any type, ComfyUI won't catch a wiring mistake for you here the way it would with a typed connector - double-check you're actually reconnecting the right wire on the other side.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| name | STRING | Clock A | — |
| cache | BOOLEAN | false | Cache the clock ID, this means the node will follow Comfy's default invalidation system. If False it will always invalidate / mark the node as 'dirty' |
| passthroughopt | * | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| passthrough | * | — |
| clock_id | STRING | — |