関数を直接 C で記述して Python モジュールとして使用する場合、Python C API を使用することでどれだけのパフォーマンスが得られるかを視覚化するデータはありますか?
「Cの方が速い」という明らかな事実に加えて; Python C API と C を比較したデータはありますか?
関数を直接 C で記述して Python モジュールとして使用する場合、Python C API を使用することでどれだけのパフォーマンスが得られるかを視覚化するデータはありますか?
「Cの方が速い」という明らかな事実に加えて; Python C API と C を比較したデータはありますか?
そのような「データ」を取得する簡単な方法があるかどうかはわかりません。それはあなたが何をしているかに大きく依存し、Python 側から C 側にデータを転送し、またその逆にデータを転送することは、単純に Python で操作を直接実行する場合と比較して、システムに余分な負荷がかかることを考慮する必要があります。
多くの計算を行っていて、それらの計算が複雑であるが既存のライブラリ (「numpy」など) では実行できない場合は、実行する価値があるかもしれません。もちろん、計算は必ずしも「数学」である必要はありません。大きな配列でデータをシャッフルしたり、if (x > y) z++;
型操作を行ったりすることもできます。しかし、データを "python" から "C" タイプのデータに変換し、元に戻すには、実際に大量の処理を行う必要があります。
「このスポーティーな車は、それほどスポーティーでない車よりもどれくらい速いですか」と尋ねるようなもので、渋滞の多い大都市を運転する場合、違いはまったくないかもしれませんが、それらを比較するとスポーティな車が適切に足を伸ばすことができるレース トラックでは、勝者は明らかです。
「車」テーマでは、「混雑」は C の非常に小さな関数への多数の呼び出しであり、あまり機能しません。「Python から C に変換し、Python データに戻す」が混雑/トラフィックになります。ライト。データの塊が大きい場合は、もう少し「レーストラック」効果が得られます。