У мене є запитання щодо нових функцій time.perf_counter()та time.process_time().
Для перших, з документації:
Повертає значення (у дробових секундах) лічильника продуктивності, тобто годинника з найвищою доступною роздільною здатністю для вимірювання короткої тривалості. Він включає час, що пройшов під час сну, і є загальносистемним. Орієнтир повернутого значення невизначений, тому дійсною є лише різниця між результатами послідовних викликів.
Чи однакова ця "найвища роздільна здатність" у всіх системах? Або це завжди трохи залежить, якщо ми, наприклад, використовуємо Linux або Windows?
Питання випливає з того факту, що, читаючи документацію до time.time()нього, сказано, що "не всі системи забезпечують час з кращою точністю, ніж 1 секунда". Тож як вони можуть забезпечити кращу і вищу роздільну здатність зараз?
Про останнє time.process_time():
Повертає значення (у дробових секундах) суми системного та користувацького процесорного часу поточного процесу. Сюди не входить час, що пройшов під час сну. За визначенням він є загальнопроцесорним. Орієнтир повернутого значення невизначений, тому дійсною є лише різниця між результатами послідовних викликів.
Я не розумію, що це за "системний час" і "час процесора користувача"? Яка різниця?
duckвикористовувати час за функцією, а не за реалізацією. Тобто, використовуйтеtime.time()абоtime.monotonic()залежно від того, що ви хочете.