3

私は Cython で最初のステップを実行していますが、パフォーマンスをさらに向上させる方法を考えています。今までは通常の (python のみの) 実行時間の半分になりましたが、もっとあるに違いないと思います!

私は知っcython -aていて、すでに変数を入力しました。しかし、私の機能にはまだ多くの黄色があります。これは、cython が numpy を認識しないためですか、それとも他に何か不足していますか?

4

2 に答える 2

2

スカラーで np.sqrt および np.floor を呼び出しているため、libc の数学関数を使用することでメリットが得られると思います。これには Python 呼び出しのオーバーヘッドがあるだけでなく、スカラーと配列の numpy ufunc に異なるコード パスがあります。したがって、少なくとも型スイッチが必要です。

于 2013-04-09T14:55:40.513 に答える
0

公式のチュートリアルでテストしたので、問題ではないと思います。また、すべての np.* 行で黄色として報告され、コードと同じように python が含まれます。

そのページの最後にあるポイント 3 は、これを説明しているはずです。

現在、NumPy/SciPy 関数の呼び出しには Python 呼び出しのオーバーヘッドがあります。Cython から C に直接ショートカットすることも可能です (ただし、これには、これらのライブラリにいくつかの個別の増分変更が必要です。詳細については、Cython メーリング リストにメールしてください)。

于 2013-04-03T02:30:01.030 に答える