Nodes/MTB Nodes/Start Clock (mtb)
ComfyUI Node Runs on cloud

Start Clock (mtb)

Time part of your workflow without leaving ComfyUI

By melMass·Created 3 years ago·Updated about a month ago· 721
Start Clock (mtb)
  • passthrough
  • passthrough
  • clock_id
nameClock A
cachefalse

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 the passthrough output. 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.

Categorymtb/utils

Inputs (3)

NameTypeDefaultDescription
nameSTRINGClock A
cacheBOOLEANfalseCache 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)

NameTypeDescription
passthrough*
clock_idSTRING