Files
zoneminder/src
Nic Boet 4b098fb760 perf: replace O(n) linear frame seeks with O(log n) binary search
Replace two linear scans in event playback seeking:

- seek(): O(n) walk from frame 0 replaced with std::lower_bound on
  timestamp. Falls back to last frame if target is past end.

- processCommand(CMD_SEEK): O(n) estimate-then-walk replaced with
  std::upper_bound on offset, then step back one. Handles edge cases
  where offset lands before first frame or past last frame.

For a 10-minute event at 30fps (~18,000 frames), worst case drops
from 18,000 comparisons to ~14 (log2).
2026-02-09 12:44:59 -06:00
..
2026-01-31 12:43:03 -05:00
2024-10-26 14:29:40 -04:00
2024-10-26 14:29:40 -04:00
2025-07-05 08:09:09 -04:00
2026-01-29 18:50:42 -05:00
2026-02-05 09:07:22 -05:00
2025-09-18 14:48:52 -04:00
2024-10-29 13:30:29 -04:00
2025-02-26 21:04:32 +11:00
2025-02-26 21:04:32 +11:00
2025-09-18 10:07:50 -04:00
2026-01-31 12:43:03 -05:00
2025-07-05 08:09:09 -04:00
2025-07-05 08:09:09 -04:00
2025-08-05 14:13:39 -04:00
2026-01-05 16:36:36 -05:00
2026-01-05 16:36:36 -05:00