Numba
NumbaはPythonおよびNumPyのサブセットのソースコードを高速に実行する機械語に変換するJITコンパイラ。llvmliteにて、LLVMをバックエンドに使用し、CPUおよびGPU向けにコンパイルする。Anaconda, Inc.がスポンサーになっている。
| 作者 | Anaconda, Inc. |
|---|---|
| 初版 | 2012年8月15日 |
| 最新版 | |
| リポジトリ | |
| プログラミング 言語 | Python, C言語 |
| ライセンス | 二条項BSDライセンス |
| 公式サイト |
numba |
デコレーター
Pythonの関数にデコレーターを付けることで、実行時にJITコンパイルされる。
下記の例においては、Numba 0.27.0において、Pythonよりも200倍高速に動作し、NumPyの組み込みのsum()関数よりも30%高速に動作する[2][3]。
import numba
@numba.jit
def sum1d(ary):
total = 0.0
for i in range(ary.shape[0]):
total += ary[i]
return total
参照
- “Release 0.59.1” (19 3月 2024). 22 3月 2024閲覧。
- “A Speed Comparison Of C, Julia, Python, Numba, and Cython on LU Factorization”. 2019年1月25日閲覧。
- “Numba vs. Cython: Take 2”. 2019年1月25日閲覧。
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.