我目前正在编写一个 C# 应用程序,该应用程序执行大量数字信号处理,其中涉及许多小型微调内存 xfer 操作。我使用不安全指针编写了这些例程,它们的性能似乎比我最初想象的要好得多。但是,我希望应用程序尽可能快。
我会从用 C 或 C++ 重写这些例程中获得任何性能优势,还是应该坚持使用不安全的指针?我想知道与 C/C++ 相比,不安全指针在性能方面带来了什么。
编辑:我在这些例程中没有做任何特别的事情,只是普通的 DSP 东西:缓存友好的数据从一个数组传输到另一个数组,其中有很多乘法、加法、位移等。我希望 C/C++ 例程看起来与 C# 对应的例程几乎相同(如果不相同)。
编辑:非常感谢大家所有聪明的答案。我了解到,除非进行某种 SSE 优化,否则仅通过直接移植不会显着提高性能。假设所有现代 C/C++ 编译器都可以利用它,我期待着尝试一下。如果有人对结果感兴趣,请告诉我,我会在某处发布。(虽然可能需要一段时间)。