Почему Python timeit () выполняется бесконечно? - PullRequest
2 голосов
/ 09 января 2012

При попытке использовать встроенный модуль Python 'timeit' следующим образом:

timeit.Timer('print "hi"').timeit()

выводит более одной строки;это почему?Он продолжает печатать "привет" бесконечно:

hi
hi
hi
hi
...

Ответы [ 2 ]

9 голосов
/ 09 января 2012

timeit предназначен для тестирования очень коротких фрагментов кода, поэтому он выполняет код много раз и усредняет их.По умолчанию он запускается 1000000 раз.

Вы можете изменить это, запустив его следующим образом:

timeit.Timer('print "hi"').timeit(number=1)
5 голосов
/ 09 января 2012

Если вы посмотрите на документы , вы увидите, что по умолчанию оператор будет выполняться 1000000 раз.

Если вы хотите запустить его только 2 раза, вы передадите 2к timeit() методу Timer класса.

timeit.Timer('print "hi"').timeit(2)
...