Numba (Python)
Apparence
Numba
| Développé par | Travis Oliphant (en) |
|---|---|
| Dernière version | 0.62.1 ()[1] |
| Dépôt | github.com/numba/numba |
| Assurance qualité | Intégration continue |
| Écrit en | C et Python |
| Type |
Compilateur Logiciel numérique (d) |
| Licence | BSD 2-clauses (en) |
| Site web | numba.pydata.org |
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
[modifier | modifier le code]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
[modifier | modifier le code]- ↑ « Release 0.62.1 », (consulté le )
- ↑ 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
[modifier | modifier le code]