%timeit
- функция ipython magic , которая может использоваться для временного выделения определенного фрагмента кода (один оператор выполнения или один метод)
. docs:
% timeit
blockquote>Time execution of a Python statement or expression Usage, in line mode: %timeit [-n
-r [-t|-c] -q -p -o] statement
Чтобы использовать его, например, если мы хотим узнать, работает ли с
xrange
быстрее, чем используяrange
, вы можете просто сделать:In [1]: %timeit for _ in range(1000): True 10000 loops, best of 3: 37.8 µs per loop In [2]: %timeit for _ in xrange(1000): True 10000 loops, best of 3: 29.6 µs per loop
И вы получите тайминги для них.
Главное преимущество заключается в том, что вам не нужно импортировать
timer.timeit
, и запустите код несколько раз, чтобы выяснить, какой из них лучше подходит; % timeit будет автоматически вычислять количество прогонов, необходимых для вашего кода, в зависимости от всего 2-секундного окна выполнения.
Промежуточные операции (например, отображение) возвращают поток и вызываются терминальными операциями, которые возвращают не потоковые значения.
потому что count
является терминальной операцией, и потоки вызываются / исполняются только тогда, когда присутствует терминальный; говорят, что они ленивы ...
Просто обратите внимание, что в java-9 и выше ваш пример не будет печатать эти утверждения из map
в любом случае, поскольку все, что вас волнует, это , сколько и map
бесполезно. ..