编译器优化 问答列表

以编程方式重命名函数

作者:Moritz Roessler 提问时间:7/21/2014

我目前正在编写一个 ECMAScipt5 编译器,该编译器在解析树上执行各种给定的优化/转换,并编译回 ECMAScipt5。 其中一项功能是重命名 EnvironmentRecord 中的 Bin...

如果 C 编译器不能证明缺少 UB,为什么禁止优化?

作者:Joshua 提问时间:9/19/2023

如果 C 程序具有未定义的行为,则任何事情都可能发生。因此,编译器可以假定任何给定的程序都不包含 UB。因此,假设我们的程序包含以下内容: x += 5; /* Do something else ...

C 循环条件中的函数

作者:Sasha 提问时间:9/21/2023

我可以有这样的东西: for (unsigned i = 0; i < get_length(object); ++i) { ... } 我确定 get_length(object) 在循环生...

C++ 中静态函数调用的编译器优化 [已关闭]

作者:Nick 提问时间:9/19/2023

已关闭。这个问题需要细节或澄清。它目前不接受答案。 想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。 2个月前关闭。 改进此问题 有一些函数通过静态调用访问资源,有时会丢失指向它的指...

如何防止一段无副作用的代码被优化掉?

作者:lei hu 提问时间:9/15/2023

考虑一个场景,我构造了一个表示大整数的类 T。此类 T 具有加法运算符函数。 class T { public: T operator+(const T &other) const } 为了测...

Rust 是否检测重复的闭包(例如,在循环中定义的闭包)?

作者:Siiir 提问时间:2/20/2023

当我需要调用许多可失败的函数时,我有时会将它们关闭。 然后我他们并捕获任何特殊变体(其他语言中的异常机制)。? 以下是我对 https://www.codewars.com/kata/5a090c4...

如何阻止 clang 优化 tautological-undefined-compare?[复制]

作者:Mikhail T. 提问时间:2/21/2023

这个问题在这里已经有答案了: 安全地检查“this”是否为空 (7 个答案) 9个月前关闭。 我正在处理旧代码,其中有很多行,例如: EST_Item_Content *contents() co...

展开的 for 循环之间的程序集差异会导致不同的浮点结果

作者:Kyle Ponikiewski 提问时间:11/19/2022

请考虑以下设置: typedef struct { float d; } InnerStruct; typedef struct { InnerStruct **c; } OuterStruc...

通过提前计算条件来避免管道停滞

作者:Jibb Smart 提问时间:4/20/2018

在谈论 if 的性能时,我们通常会谈论错误预测如何使管道停滞不前。我看到的推荐解决方案是: 信任通常具有一个结果的条件的分支预测器;或 如果可能的话,避免使用一点比特魔法进行分支;或 在可能的情况下...

升级后内环性能下降的原因是什么?

作者:darune 提问时间:1/29/2019

我有一个手卷矩阵算法,它找到方形矩阵右下平方的最大数量(因此在迭代时,某些部分被“跳过”) - 存储为密集矩阵。从 vs2010 更新到 vs2017 后,它似乎要慢得多——总体上放缓了大约 50%。...


共35条 当前第3页