Какие именно доли секунды возвращаются Python time.perf_counter()?

Вероятно, это глупый/очевидный вопрос, но я просто хочу убедиться, что мои догадки верны.

Я выполняю некоторые базовые измерения производительности в скрипте Python3, используя time.perf_counter(), например:

start = time.perf_counter()
# some time consuming operation here
end = time.perf_counter()
elapsed = end - start

И я получу обратно такие значения, как 9,774 или 36,903 (конечно, с большим числом знаков после запятой). Я предполагаю, что большие числа = больше времени прошло, но что именно означают эти числа? Например. составляет 1,23 доли секунды всего 1 секунду и 0,23 доли секунды


person baisang    schedule 05.08.2015    source источник
comment
Что вы не понимаете из docs.python.org/3/library /time.html#time.perf_counter ?   -  person Tom Dalton    schedule 05.08.2015
comment
Когда возвращается число, например 1,23, это 1 секунда и 0,23 доли секунды?   -  person baisang    schedule 05.08.2015
comment
Из документа: вернуть значение (в долях секунды). Что тут непонятного? Отвечая на ваш вопрос - да.   -  person Tom Dalton    schedule 05.08.2015
comment
Имеет смысл, спасибо. Я видел другой пост со странным ответом, поэтому я был сбит с толку stackoverflow.com/questions/8937708/что такое дробная секунда   -  person baisang    schedule 05.08.2015
comment
Да, я думаю, термин «доли секунды» немного необычен, но они просто означают секунды.   -  person Tom Dalton    schedule 05.08.2015
comment
Я согласен, что называть их дробными секундами сбивает с толку. Это целые секунды с разрешением долей секунды после запятой.   -  person JHS    schedule 28.01.2021


Ответы (1)


Насколько мне известно, «дробная секунда» просто означает секунду с дробной частью (в отличие от строго целого числа секунд). Таким образом, 9,774 означает 9 секунд плюс 774/1000 секунд.

person ezig    schedule 05.08.2015