混合モード アセンブリの主な使用例は、既存のC または C++ コードと相互運用する必要がある場合です。もちろん非常に一般的です。
設計上、コードが高速になるわけではありません。マネージ コードからネイティブ コード実行への移行にはコストがかかります。これは非常に最適化されており、適切に実行すれば、ガベージ コレクターが認識したスタックに Cookie を書き込むコストのみを支払うだけで、オブジェクト参照のアンマネージ スタック フレームを調べることを回避できます。コストはかかりますが、ほんの一握りの CPU サイクルです。ただし、データを翻訳する必要がある場合は、追加費用が発生する場合があります。標準的な例である文字列。または、管理対象オブジェクトを固定して、コレクターが移動できないようにします。配列が標準的な例です。
しかし、確かに混合モード アセンブリを使用してパフォーマンスの問題を解決できます。移行の回数を制限でき、高度に最適化されたコードを生成する C または C++ コンパイラの機能を活用できれば、先を行くことができます。あなたがそうするという魔法の公式はなく、確かにジッターを打ち負かすのはそれほど簡単ではありません. 時間の制約の下で動作することを考えると、C コンパイラのオプティマイザーに勝るものはありませんが、かなり効果的なオプティマイザーを備えています。作成するコードの品質が最も重要です。
最初は常にプロファイラーを使用して、NG を排除し、実際のホット スポットを見つけて、試す価値があることを確認してください。