Как использовать %%timeit магию ячейки и исключить установочный код?

%timeit магия поддерживает выполнение в режиме строки и режиме ячейки. Используя режим ячейки, вызывается с %%timeit (примечание: два процента символов), может использоваться для исключения кода настройки из измерения:

%%timeit [-n<N> -r<R> [-t|-c] -q -p<P> -o] setup_code code code...

Но как ты это используешь? Это дает ошибку:

>>> %%timeit sleep(0.1); sleep(0.1)
... 
UsageError: %%timeit is a cell magic, but the cell body is empty. 
Did you mean the line magic %timeit (single %)?

И это не исключает первую строчку из теста:

>>> %%timeit
... sleep(0.1)
... sleep(0.1)
... 
200 ms ± 17.6 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)

1 ответ

Решение

Поместите настройку в первую строку, а тело в следующую строку (и):

>>> %%timeit sleep(0.1)
... sleep(0.2)
... sleep(0.3)
... 
500 ms ± 14.1 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)
Другие вопросы по тегам