MCPcopy Create free account
hub / github.com/ModelTC/LightX2V / _log_timing

Method _log_timing

lightx2v/utils/async_vae.py:205–232  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

203 self._logged_decode_events += 1
204
205 def _log_timing(self) -> None:
206 if self._num_submitted == 0:
207 return
208 if not self.enabled:
209 logger.info(
210 "[AsyncVAEChunkDecoder] sync VAE decode: chunks={}, total={:.2f} ms, avg={:.2f} ms",
211 self._num_submitted,
212 self._sync_decode_ms,
213 self._sync_decode_ms / max(self._num_submitted, 1),
214 )
215 return
216
217 decode_ms = 0.0
218 for start, end in self._decode_events:
219 decode_ms += start.elapsed_time(end)
220 exposed_ms = self._submit_wait_ms + self._finish_wait_ms
221 overlapped_ms = max(decode_ms - exposed_ms, 0.0)
222 overlap_ratio = overlapped_ms / decode_ms if decode_ms > 0 else 0.0
223 logger.info(
224 "[AsyncVAEChunkDecoder] async VAE decode: chunks={}, gpu_decode={:.2f} ms, submit_wait={:.2f} ms, finish_wait={:.2f} ms, exposed={:.2f} ms, overlapped={:.2f} ms ({:.1%})",
225 self._num_submitted,
226 decode_ms,
227 self._submit_wait_ms,
228 self._finish_wait_ms,
229 exposed_ms,
230 overlapped_ms,
231 overlap_ratio,
232 )

Callers 1

finishMethod · 0.95

Calls 1

infoMethod · 0.80

Tested by

no test coverage detected