Aller au contenu

Numba (Python)

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 1 mars 2025 à 17:45 et modifiée en dernier par Wattcle (discuter | contributions) (Numba (Python)). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Numba
Description de l'image Numba logo.svg.

Informations
Développé par Travis Oliphant (en)Voir et modifier les données sur Wikidata
Dernière version 0.61.2 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/numba/numbaVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en C et PythonVoir et modifier les données sur Wikidata
Type Compilateur
Logiciel numérique (d)Voir et modifier les données sur Wikidata
Licence BSD 2-clauses (en)Voir et modifier les données sur Wikidata
Site web numba.pydata.orgVoir et modifier les données sur Wikidata

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 Numba 0.61.2 », (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