現在、多くのデジタル信号処理を行う C# アプリケーションを作成しています。これには、微調整された小規模なメモリ xfer 操作が多数含まれます。安全でないポインターを使用してこれらのルーチンを作成しましたが、最初に考えたよりもはるかに優れたパフォーマンスを発揮するようです。ただし、アプリをできるだけ高速にしたいと考えています。
これらのルーチンを C または C++ で書き直すことでパフォーマンス上の利点が得られるでしょうか?それとも、安全でないポインターに固執する必要がありますか? C/C++ と比較して、安全でないポインターがパフォーマンスの観点からテーブルにもたらすものを知りたいです。
編集: これらのルーチン内で特別なことは何もしていません。通常の DSP のことだけです。多くの乗算、加算、ビット シフトなどを使用して、ある配列から別の配列にキャッシュ フレンドリーなデータを転送します。C/C++ ルーチンは、対応する C# ルーチンとほぼ同じ (同一ではないにしても) に見えると思います。
編集:すべての賢い答えに感謝します。私が学んだことは、ある種の SSE 最適化が行われない限り、直接移植するだけではパフォーマンスが大幅に向上しないということです。最新のすべての C/C++ コンパイラがそれを利用できると仮定すると、試してみるのが楽しみです。誰かが結果に興味がある場合は、私に知らせてください。どこかに投稿します。(ただし、しばらく時間がかかる場合があります)。