해당 숫자를 올바르게 읽지 않습니다. IPython은 나노 초 (약도 ns
에 유의하십시오)에보고합니다. 파이썬은 타이밍을 마이크로 초 (usec
)으로보고합니다.
1 마이크로 초는 1000 나노초이고; 나노초로 표준화 파이썬은 16.3 나노초를보고 했으므로 속도는 5 배나 빠릅니다.
그러나 결과를 재현 할 수 없습니다. 직접 모두 실행 IPython과에 VIRTUALENV에 같은 파이썬 바이너리를 사용 :
venv-3.6 $ bin/ipython
Python 3.6.2 (default, Jul 18 2017, 14:26:50)
Type "copyright", "credits" or "license" for more information.
IPython 5.2.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: %timeit a=1
100000000 loops, best of 3: 11.9 ns per loop
In [2]:
Do you really want to exit ([y]/n)? y
venv-3.6 $ bin/python -m timeit 'a=1'
100000000 loops, best of 3: 0.0121 usec per loop
과 Jupyter 노트북에서
, 다시 같은 VIRTUALENV와; 예상대로 진짜 차이가 없습니다 있도록이 본질적으로, ipython 드라이브 : 11.8 나노초 대 11.9 대 12.1 이잖아 그래서
%timeit a=1
100000000 loops, best of 3: 11.8 ns per loop
; 차이를 불러 내기에는 너무 가깝습니다.
84.1 ** 나노초 **는 0.0163 마이크로 초보다 1 백만 배 느리지 않습니다. 84.1 나노초는 0.0841 마이크로 초이므로 차이는 5 배가됩니다. –