Numba (Python)

Numba est un compilateur à la volée open-source qui traduit un sous-ensemble de Python et de NumPy en code machine, en utilisant LLVM[2].

Numba est développé à partir de 2012 par Travis Oliphant (en) (également cofondateur de la distribution Anaconda et cocréateur des bibliothèques NumPy et SciPy).

Exemple

Numba s'utilise en appliquant le décorateur numba.jit à une fonction Python.

import numba
import random

@numba.jit
def monte_carlo_pi(n_samples: int) -> float:
    """Monte Carlo"""
    acc = 0
    for i in range(n_samples):
        x = random.random()
        y = random.random()
        if (x**2 + y**2) < 1.0:
            acc += 1
    return 4.0 * acc / n_samples

Notes et références

  1. « Release 0.61.0 », (consulté le )
  2. Siu Kwan Lam, Antoine Pitrou et Stanley Seibert, « Numba: a LLVM-based Python JIT compiler », Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, Association for Computing Machinery,‎ , p. 1–6 (ISBN 978-1-4503-4005-2, DOI 10.1145/2833157.2833162, lire en ligne, consulté le )

Liens externes