1

我正在对使用 C++/Linux/GCC/Windows XP/英特尔编译器构建的应用程序中的几个大型 STL 向量容器中包含的值进行计算

通过更改对齐属性或使用英特尔库函数等来研究矢量化的优化机会是否值得 - 或者编译器会自动处理?

4

1 回答 1

0

通常,编译器会使用适当的设置来处理它,因此您必须进行一些调整。

也就是说,如果您针对特定硬件,最好确保编译器确实利用了这样的系统。例如,众所周知,英特尔编译器是其处理器的出色优化器。

现在,有时手动矢量化也很好。事实上,它就像任何优化一样:首先用高效的算法实现一个简单易读的版本。然后使用分析器优化代码。分析器将让您知道将精力集中在哪里。

如果您知道您将拥有一个特定的函数处理成员,并且对此类函数的生成代码(来自编译器)有经验,您可能会从一开始就开始应用一些优化,但要确保您已经知道会发生什么被生成。

于 2011-03-26T00:19:26.877 回答