14 / 24
Vectorization vs Python-циклы: почему вектор быстрее и как корректно измерять
Vectorization — выражение операции через готовые ufunc/np-методы, которые выполняют C-цикл по всему массиву без интерпретации байткода. Питоновский цикл платит за разбор байткода, диспетчеризацию методов и боксинг каждого числа. На массиве в миллион элементов разница 50–200x. Замеряй через timeit.timeit(..., number=N) или %timeit в IPython, не через одиночный time.time() — он шумит на CPU-кэше и GC.