Replace time() syscall with clock_gettime(CLOCK_MONOTONIC_COARSE) and gate timestamp/rate checks behind a batch counter to avoid clock overhead on every iteration. Set reporting interval to 2s.