Preview: add pdf+pyvips encode path and simplify timings
This commit is contained in:
+18
-18
@@ -36,16 +36,16 @@ def main() -> int:
|
||||
if not folder.is_dir():
|
||||
raise SystemExit(f"Not a directory: {folder}")
|
||||
|
||||
files = sorted(path for path in folder.rglob("*") if path.is_file() and is_image_file(path))
|
||||
files = sorted(
|
||||
path for path in folder.rglob("*") if path.is_file() and is_image_file(path)
|
||||
)
|
||||
if not files:
|
||||
print(f"No image files found under {folder}")
|
||||
return 0
|
||||
|
||||
total_files = 0
|
||||
total_bytes = 0
|
||||
total_load_ms: float = 0.0
|
||||
total_process_ms: float = 0.0
|
||||
total_save_ms: float = 0.0
|
||||
total_timing_slots: list[float] = []
|
||||
total_preview_ms: float = 0.0
|
||||
failures = 0
|
||||
|
||||
@@ -67,18 +67,19 @@ def main() -> int:
|
||||
continue
|
||||
|
||||
total_bytes += len(preview)
|
||||
total_load_ms += timing.load_ms or 0.0
|
||||
total_process_ms += timing.process_ms or 0.0
|
||||
total_save_ms += timing.save_ms or 0.0
|
||||
total_preview_ms += timing.total_ms or 0.0
|
||||
timings = timing.timings or []
|
||||
if len(total_timing_slots) < len(timings):
|
||||
total_timing_slots.extend([0.0] * (len(timings) - len(total_timing_slots)))
|
||||
for i, value in enumerate(timings):
|
||||
total_timing_slots[i] += value
|
||||
total_ms = sum(timings)
|
||||
total_preview_ms += total_ms
|
||||
|
||||
if timing.load_ms is not None:
|
||||
detail = (
|
||||
f"load={timing.load_ms:.1f}ms process={timing.process_ms:.1f}ms "
|
||||
f"save={timing.save_ms:.1f}ms total={timing.total_ms:.1f}ms"
|
||||
)
|
||||
detail = " / ".join(f"{value:.1f}ms" for value in timings)
|
||||
if detail:
|
||||
detail = f"timings={detail} total={total_ms:.1f}ms"
|
||||
else:
|
||||
detail = f"total={timing.total_ms:.1f}ms"
|
||||
detail = f"total={total_ms:.1f}ms"
|
||||
print(f"OK {rel} backend={timing.backend} bytes={len(preview)} {detail}")
|
||||
|
||||
completed = total_files - failures
|
||||
@@ -89,10 +90,9 @@ def main() -> int:
|
||||
print(f" failed={failures}")
|
||||
print(f" preview_bytes={total_bytes}")
|
||||
if completed:
|
||||
if total_load_ms or total_process_ms or total_save_ms:
|
||||
print(f" load_total_ms={total_load_ms:.1f}")
|
||||
print(f" process_total_ms={total_process_ms:.1f}")
|
||||
print(f" save_total_ms={total_save_ms:.1f}")
|
||||
if total_timing_slots:
|
||||
for i, value in enumerate(total_timing_slots, start=1):
|
||||
print(f" timing{i}_total_ms={value:.1f}")
|
||||
print(f" preview_total_ms={total_preview_ms:.1f}")
|
||||
print(f" preview_avg_ms={total_preview_ms / completed:.1f}")
|
||||
return 0 if failures == 0 else 1
|
||||
|
||||
Reference in New Issue
Block a user