Sampler Timing Result
Seconds per step, per call, per tile — actually comparable
- samples
- sampler_timer
- samples
- average_seconds
- total_seconds
- seconds_per_step
- sampler_calls
- total_steps
If Sampler Timer Start is the stopwatch, Sampler Timing Result is the readout - and it's the half of the pair you'll actually spend time staring at. The node sits after your sampler, takes the LATENT through unchanged, and hands you five timing numbers you can wire into anything that accepts a FLOAT.
The outputs that matter
average_seconds- the main one. Average wall-clock seconds per completed sampler call. In a tiled/list-sampling workflow where each tile is its own sampler call, this is your per-tile cost. This is the number to compare when you're deciding whether 3×3 tiles is cheaper than 4×4.total_seconds- total sampler time for the whole queued run. Simple, and useful when the run is one big sampler.seconds_per_step- total time divided by the number of sigma intervals sampled. This is the one that stays roughly constant as you add tiles, which makes it the honest "per-unit-work" figure.sampler_calls- how many sampler calls went into the average. Tells you whetheraverage_secondsis a one-sample fluke or a real mean.total_steps- sigma intervals counted inseconds_per_step.
Plus samples, the untouched LATENT passthrough, so the node never breaks your sampler chain.
How to actually use it
Wire the timer pair around your sampler once, then treat the outputs as workflow-level data. The honest way to tune a tiled pipeline is: run with full-frame sampling, read seconds_per_step; then run tiled, read it again. If tiled per-step time is roughly equal and you're just paying for more steps, your win is VRAM, not speed - which is fine, just know which one you're buying. Because the FLOAT outputs plug into any FLOAT input, you can feed them into a text/node display or a math node for a live cost readout.
The measurement is wall-clock with CUDA synchronized at the boundaries, so it's real time, not pipe dream time. Model loading and VAE decode are deliberately excluded - which is what you want for apples-to-apples sampler comparisons. Timing resets each queued execution.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/maDcaDDie2000/comfyui-video-tiler
Restart, under Video Tiler. No extra dependencies, no models. Apache 2.0, vibe-coded, not actively maintained - which matters a little less here, because the mechanism (timing a cloned model's sampler calls) is simple and the source is short enough to read if it ever needs fixing. If you're only going to install one timing node pair from this pack, this is the half that earns its keep.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| samples | LATENT | Connect the LATENT output of the timed sampler. | |
| sampler_timer | SAMPLER_TIMER | Connect Sampler Timer Start's sampler_timer output. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| samples | LATENT | Unchanged sampler LATENT passthrough. |
| average_seconds | FLOAT | Average wall-clock seconds per completed sampler call. |
| total_seconds | FLOAT | Total wall-clock seconds across completed sampler calls. |
| seconds_per_step | FLOAT | Average wall-clock seconds per sigma interval. |
| sampler_calls | INT | Number of completed sampler calls included in the average. |
| total_steps | INT | Total sigma intervals included in seconds_per_step. |