NumPy vectorization moves loops into compiled operations
NumPy vectorization expresses an array operation in Python while moving its element-by-element loop into compiled implementation code. The loop still exists; its execution location changes. The NumPy introduction demonstrates this with multiplication of corresponding array elements.
For compatible numeric arrays, a * b lets NumPy perform the repeated operation rather than making Python explicitly iterate and manipulate each element. This mechanism depends on the array representation and supported operation, not merely on shorter syntax. Broadcasting extends some operations to compatible shapes; arbitrary Python logic does not automatically become a compiled array operation.
This is distinct from Python bytecode caches reduce loading work rather than execution work: a cache avoids preparation, while vectorization changes computational execution. It explains why the word interpreted alone cannot predict the performance of an entire Python application.
As an application of Desktop performance claims need workload measurements, measure the actual workload before claiming a speedup. The documented mechanism supports an optimization candidate, not a universal performance ranking.