タグ

ブックマーク / wtnb.mydns.jp (1)

  • Pythonのネイティブコード呼び出しのコスト – ログ取得ツール

    Pythonでネイティブコードを簡単に呼ぶ方法として、ctypesとboost.pythonがある。ctypesは最近はPython体に含まれるし、boost.pythonもBoost体に含まれているようだ。この2つは、swigや自力でインタフェースを書く場合と比べてだいぶ楽に呼び出せる。 で、どのくらいコストが違うのか、試してみようと。ネイティブコードを呼んだ先では大差ないと思うけど、ネイティブコード呼び出しにかかるコストによっては、インタフェースの粒度を考えないといけなくなる。 そこで、ためしに 何もしない math.sinを呼ぶ cmath.sinを呼ぶ boost.python経由でstd::sinを呼ぶ ctypesでlibmのsinを呼ぶ という呼び出しの速度を測ってみた。cmathは複素数に対応した数学関数のパッケージです。sinが複素数を返すことはない…と思いますけど、

  • 1