如何设置编译器标志?

发布于 2024-08-29 22:37:37 字数 286 浏览 11 评论 0原文

鲨鱼告诉我:

这条指令是一个开始 未与 16 字节对齐的循环 地址边界。为了最佳 性能,你应该调整 使用编译器启动热循环 指示。对于 gcc 3.3 或更高版本,使用 -falign-loops=16 编译器标志。

for (int i=0; i < 4; i++) { // line with the info
   //...code
}

我将如何设置该标志,它真的能提高性能吗?

Shark told me this:

This instruction is the start of a
loop that is not aligned to a 16-byte
address boundary. For optimal
performance, you should align the
start of a hot loop using a compiler
directive. With gcc 3.3 or later, use
the -falign-loops=16 compiler flag.

for (int i=0; i < 4; i++) { // line with the info
   //...code
}

How would I set that flag, and does it really improve performance?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

执妄 2024-09-05 22:37:37

Shark 的提示并不总是合适的。在大多数情况下,对齐循环不会产生太大差异。重点关注代码中的瓶颈,看看在算法/代码级别可以做什么,然后再进行此类非常小的调整。

The hints from Shark are not always appropriate. Aligning loops doesn't make a lot of difference in most cases. Focus on the bottlenecks in your code and see what you can do at the algo/code level before resorting to very minor tweaks such as this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文