sleep
очень вряд-ли будет спать ровно столько сколько запросил из-за накладных расходов.
Из документации:
- The suspension time may be longer than requested by an arbitrary amount, because of the scheduling of other activity in the system
Ты написал итераций примерно 830. Собственно вот и результат - sleep ожидает больше чем нужно и кол-во итераций логики меньше.
Можно сделать комбинированный вариант - заснуть на поменьше, а оставшееся время активно ожидать