Python用のバイナリモジュールを作成する方法は多数あるので、コードの一部のセグメントのパフォーマンスを可能な限り向上させたい場合は、経験のある人が最善のアプローチについてアドバイスできることを期待していました。
私が理解しているように、python / numpy C-apiを使用して拡張機能を作成するか、Pythonコードから呼び出されるようにすでに作成された純粋なC / C ++/Fortran関数をラップすることができます。
当然、Cythonのようなツールが最も簡単な方法ですが、コードを手動で作成すると、制御が向上し、パフォーマンスが向上すると思います。
問題は、一般的には、どのアプローチを使用するかです。CまたはC++拡張機能を作成しますか?外部C/C ++関数をラップするか、Python関数へのコールバックを使用しますか?
この質問は、Langtangenの「計算科学のためのPythonスクリプティング」の第10章を読んだ後に書いています。ここでは、PythonとCの間でインターフェースをとるいくつかの方法が比較されています。