私の問題:STLマップとベクトルを使用して生のC ++で大規模なデータセットを処理すると、Cythonを使用するよりもかなり高速になることがよくあります(メモリフットプリントが少なくなります)。
この速度のペナルティの一部は、Pythonリストとdictを使用することによるものであり、Cythonで邪魔にならないデータ構造を使用するためのトリックがあるかもしれないと思います。たとえば、このページ(http://wiki.cython.org/tutorials/numpy)は、ND配列のサイズとタイプを事前に定義することにより、Cythonでnumpy配列を非常に高速にする方法を示しています。
質問:リスト/ディクテーションで同様のことを行う方法はありますか?たとえば、それらに含まれると予想される要素または(キー、値)ペアの大まかな数を示すことによってですか?つまり、Cythonでリスト/ディクテーションを(高速な)データ構造に変換する慣用的な方法はありますか?
そうでない場合は、C ++で記述し、Cythonインポートでラップする必要があると思います。