配列の標準データ型としてnumpy配列を使用するPythonプログラムを使用しています。重い計算のために、私は配列をC++ライブラリに渡します。そうするために、私はpybindを使用します。しかし、私はPython list
を使用する必要があります。pythonのnumpy tolist()はどのくらいのオーバーヘッドを追加しますか?
NativeSolver.vector_add(array1.tolist(), array2.tolist(), ...)
この変換がどの程度のオーバーヘッドが発生しない:私は経由numpy
アレイとlist
からの変換を行いますか?私はそれが全く新しいコピーを作成しないことを願っています。 numpyの参照は言う:
ndarray.tolist()
リターン(ネスト)Pythonのリストとして配列データのコピー。データアイテム は、最も近い互換性のあるPythonタイプに変換されます。
「pybind」githubとドキュメントでバッファプロトコルとnumpyの参照が見つかりました。 – hpaulj