Python time.sleep vs занятого ожидания ожидания

Я поиграл с функцией time.sleep из стандартной библиотеки python и обнаружил, что она не подходит для задержек менее мс. После тестирования я обнаружил, что ожидание 1 мс составляет 1,1-1,2 мс. Реализация занятого ожидания получила точность с точностью до 1%. Я использовал:

def busy_wait(dt):   
    current_time = time.time()
    while (time.time() < current_time+dt):
        pass

и может опуститься до 0,0001 секунды, прежде чем сломать 1% точности.

Основные вопросы, которые у меня есть:

Почему функция сна настолько неточна (возможно, проблема С)? Изменит ли это улучшение процессора с более высокой тактовой частотой?Зачем кому-то спать? Единственное преимущество, которое я вижу, энергосбережение, ограничено встроенными системами, не так ли?Будет ли целесообразным компенсировать неточность сна калибровкой? Вот так:
def sleep(dt):
    sleep(calibration_function(dt))

Кроме того, я прочитал, что сон даже не работает хорошо с долгим временем ожидания:Верхний предел в Python time.sleep ()? Я также где-то читал о том, как сделать цикл с более короткими временными интервалами для повышения точности, но это бесполезно, когда я хочу задержать 0,01 сек.Карл Войтланд упоминает использование nanosleep ctypes, но я чувствую, что это излишне, и что time.sleep должен делать то, что ему нужно.

time.sleep - это сломанная функция Python? Или никто не заботится о точном измерении времени?

Ответы на вопрос(2)

Ваш ответ на вопрос