【发布时间】:2010-10-09 20:28:34
【问题描述】:
我有一个用 C++ 编写的循环,它针对一个大整数数组的每个元素执行。在循环内部,我屏蔽了整数的一些位,然后找到最小值和最大值。我听说如果我对这些操作使用 SSE 指令,与使用按位 AND 和 if-else 条件编写的正常循环相比,它将运行得更快。我的问题是我应该去找这些 SSE 说明吗?另外,如果我的代码在不同的处理器上运行会发生什么?它仍然可以工作还是这些指令是特定于处理器的?
【问题讨论】:
-
SSE 特定于 x86 架构。此外,还有 SSE 版本(SSE2、SSE3、...),并非所有 SSE 功能都适用于每个处理器。正确使用 SSE 肯定会带来巨大的性能提升;但如果您需要优化,请仔细考虑。
标签: c++ optimization assembly processor sse