問題タブ [numba]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Numba と Cython は、CPython と比較してパフォーマンスを大幅に向上させていません。使用方法が間違っているのでしょうか?
大きな編集:
================
わかりやすくするために、古い結果を削除し、新しい結果に置き換えます。質問は同じです: Cython と Numba の両方を正しく使用していますか? また、コードをどのように改善できますか? (すべてのコードと結果がここにある、より新しくて必要最小限の一時的な IPython ノートブックがあります)
1)
Cython、Numba、および CPython に最初は違いがなかった理由が分かったと思います。
入力としてnumpy配列:
リストの代わりに:
データ入力として Numpy 配列を使用したベンチマーク
Python リストを入力として使用したベンチマーク
2)
関数を明示的なループに置き換えましたzip()
が、大きな違いはありませんでした。コードは次のようになります。
CPython
シトン
ナンバー
python - Python Numba jit NotImplementedError リスト内包表記
Numba でリスト内包表記を実行する数式の計算を高速化したい。
ただし、NotImplementedError が発生します。理由がわからない。
python - インコはナンバとどう違うの?一部の NumPy 式で改善が見られなかったので
インコとヌンバジットの主な違いを知っている人はいますか?Numexpr を Numba とインコと比較していたので、興味があります。この特定の式 (Numexpr で非常にうまく機能することを期待していました。ドキュメントで言及されているものだったからです)。
結果は
および私がテストした関数 (timeit 経由 - 関数ごとに最低 3 回の繰り返しと 10 回のループ)
マシンで結果を再確認したい場合は、 IPython nbを取得することもできます。
Numba が正しくインストールされているかどうか疑問に思っている人がいる場合...私はそう思います。前回のベンチマークでは期待どおりに動作しました。
python - @autojit を使用した Numba freevar
numba @autojit デコレーターを使用しています。次のエラーはどういう意味ですか?
freevar とは何ですか?
python - Python 2.7でnumba jitコンパイラを使用してmath.sqrt()の速度を向上させる方法
ベクトル化できない数学演算を実行する複雑な関数があります。NUMBA jit コンパイラを使用すると、実際にパフォーマンスが低下することがわかりました。おそらく、この関数内で python math.sqrt を呼び出しているためです。python math.sqrt への呼び出しを sqrt へのより高速な C 呼び出しに置き換えるように NUMBA を強制するにはどうすればよいですか?
-- Kes について
numpy - numba: 配列をその場でソートする
Numba には、JIT コンパイルでループを高速化する驚くべき機能があります。ただし、重要なねじれは、numpy を使用する場合、新しい配列の作成が許可されないことです。幸いなことに、ほとんどの numpy 関数には、出力を --except に書き込むためのオプションのout
パラメーターが含まれていますnumpy.sort
。最も明白な代替案は ですnumpy.ndarray.sort
。
しかし、これはコンパイルに失敗し、
並べ替えアルゴリズムを再実装する以外に、JIT コンパイルされた numba ループで numpy 配列を並べ替える方法はありますか?
python - CPython よりも Numba で乗算関数が遅い
私はPythonで次のコードを書きました
そして、次の結果を得ました
CPython が Numba の 2 倍以上速いのはなぜですか? これは、OSX 10.9.3 と LLVM 3.2 の Python 2.7.7 にあります。
役立つ場合は、llvm ダンプ (numba --annotate --llvmp-dump main.py を使用して取得) を以下に示します。