Barring actual performance tests of my code (I'm at the design stage), what is the general consensus on interfacing C code into C#? When will it be fruitful to do so, and when would it not?
質問する
102 次
1 に答える
2
簡単な答えはありません。
ほとんどの場合、メソッドへのパラメーターのマーシャリングとメソッドからのパラメーターのマーシャリングのオーバーヘッドはごくわずかであり、単純な関数でない場合、関数内で行われる処理よりもはるかに低いことがよくあります。ただし、タイトでパフォーマンスが重要なループ内で実行すると、パフォーマンスの制約に違反する可能性があります。
オーバーヘッド自体は、メソッドの引数と戻り値の型に大きく依存します。多くの文字列を含む構造体を含む配列よりも、整数をマーシャリングする方が安価です。
ユースケースを知らずに判断することは不可能です。
于 2012-09-29T14:11:14.000 に答える