gcc:为什么文字的转换没有优化?

发布于 2024-10-14 15:55:15 字数 248 浏览 6 评论 0原文

我正在用 c 语言为 iphone 编写一个游戏,在遇到一些性能问题后,我决定使用工具来检查瓶颈在哪里,我发现文字的转换没有得到优化。

例如:

if(x == (float)3) {....}

如果我这样写,运行速度会更快:

if(x == 3.0f) {....}

为什么编译器没有优化它?
我在发布模式下使用 gcc。

I'm coding a game for iphone in c, and after running into some performance problems I decided to use instruments to check where the bottlenecks are, and I found out that casts of literals are not being optimized.

For example:

if(x == (float)3) {....}

runs faster if I write it like this:

if(x == 3.0f) {....}

Why isn't that optimized by the compiler?
I'm using gcc in release mode.

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

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

发布评论

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

评论(1

秋意浓 2024-10-21 15:55:15

Soooorry,正如评论所说,我查看了目标代码,是相同的。
Xcode Instruments 为您逐行提供所花费的时间量,我认为它不是 100% 可靠。

Soooorry, as the comments said, I looked at the object code and is the same.
Xcode instruments gives you line by line the amount of time spent, I see it's not 100% reliable.

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