Numba

Numba is also an open source just-in-time (JIT) compiler for Python that can efficiently work on code that uses NumPy arrays, functions, and loops. It translates a subset of Python and NumPy code into fast machine code. It uses a collection of decorators that can be applied to your Python functions for Numba compilation. When a call is made to a Numba decorated function, it is compiled to machine code JIT for execution and your code can subsequently run at native machine code speed (CPU or GPU).

A JIT compiler runs after a program starts and compiles bytecode (compiled from source code into low-level code). In this manner, JIT has access to dynamic runtime information, thus enabling better tuning of code. In the case of a traditional compiler, this isn't possible, because it compiles the entire code into machine language before the program can be executed.