c - 用汇编代替c代码提高性能的简单例子是什么?

标签 c performance

我听说游戏开发者有时会用汇编代码替换部分内部循环以提高性能。

这是一个简单的例子吗?

程序集去哪儿了?只需内联 C 代码?

谢谢!

编辑:非常感谢代码示例。

最佳答案

我不是游戏开发者,但我几乎只写汇编代码谋生(我是图书馆作家)。通常这是出于性能原因,但我这样做也是为了解决编译器错误,或者使用条件标志等硬件功能,这些功能实际上更容易在汇编中表达而不是在 C 中表达。

我通常在汇编中编写完整的函数,所以我倾向于编写汇编成目标文件并链接到可执行文件或库中的 .s 文件。只需要将单个循环移动到汇编中的人经常在他们的 C 源代码中使用内联汇编,大多数编译器通过某种内在函数支持这种方式。

“简单”的例子很少见,因为如果它很简单,编译器就可以做得很好,就不需要汇编了。

关于c - 用汇编代替c代码提高性能的简单例子是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1390745/

相关文章:

java - 识别数组中的连接元素

c++ - 仅当将值与 TRUE 进行比较时才会警告操作中 xxx 和 bool 的不安全混合

c - 如何自动检查 C 函数库是否符合可重入性?

java - Netty 性能

c# - .NET try/catch 便宜吗?

python - 使用 PyInstaller 创建的应用程序启动缓慢

c - 将 C 基元值包装在 CFNumbers 的 CFArray 中

c - GET 请求 header 字段和值是否区分大小写?

c - 为什么函数指针可以带或不带运算符地址使用?

c# - x86 版本启动速度比 x64/任何 CPU 都快