Explore the power of Numba, a JIT compiler for Python and Numpy, in this 30-minute EuroPython Conference talk. Learn how Numba translates Python and Numpy code into fast machine code, maximizing CPU potential for numerical algorithms. Discover the inner workings of Numba, including bytecode compilation, performance optimization techniques, and the use of decorators like @numba.jit and @numba.vectorize. Gain insights into multi-threading, vector instructions, and fast math operations to enhance CPU utilization. Compare Numba with other high-performance computing options such as PyPy, C, C++, Cython, Numexpr, Dask, PyTorch, Tensorflow, and Google JAX. Suitable for those with basic Python and Numpy knowledge, this talk covers Numba's applications, limitations, and its adoption in various libraries, concluding with a Q&A session.
Understanding Numba - The Python and Numpy Compiler