2017-05-17 8 views

答えて

2

恐らくそれほど大きなものではありませんが、ライブラリが管理コードとどのくらい相互作用するかによって異なります。

アンマネージドコードのパフォーマンスは、CLRの影響を受けてはなりません。ただし、CLRとアンマネージコード(CLRからアンマネージドへのP/Invokeコール)と逆P/Invokeコール(アンマネージドからCLRへのアンマネージド)間のコールには、特に引数と戻り値のマーシャリングに関するオーバーヘッドがあります。 2つの間で巨大な構造、配列、または文字列を渡すには、blittingまたはより複雑なマーシャルを必要とすることが多く、処理に時間がかかります。

したがって、ライブラリがCLRコードとやり取りすることなくアンマネージランドを混乱させる時間が長い場合は、パフォーマンスに影響を与えるべきではありません。短時間に多くのコールを出し入れする必要がある場合は、ネイティブバイナリで同じライブラリ呼び出しを行う場合と比べて、パフォーマンスが低下することがあります。

+0

ありがとうございました。このライブラリでは、C++からCLRに転送する大きなものは数ミリ秒後のリアルタイムでの画像です。あなたの答えを読んだ後、私はそれを簡単に行えると思います。 – t4taurus

関連する問題