- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我使用 __assume(SomeFunc());
时它编译得很好,即使 __assume
应该是一个编译时提示并且 SomeFunc()
无法在编译时预测其返回值。
有人能解释一下这里发生了什么吗?
最佳答案
SomeFunc()
cannot have its return value predicted at compile time.
编译器可能无法在编译时计算返回值,但这没关系。
当您使用 __assume(expression)
时,你,程序员,正在告诉编译器“这个表达式的计算结果总是true
。”您正在为编译器提供额外的信息,否则它可能无法从源代码中推断出这些信息。
如果表达式在运行时计算时碰巧没有计算为 true
,则行为未定义。您有责任仅在表达式保证为 true
时使用 __assume
。
关于c++ - 为什么在 __assume 中使用函数调用时 MSVC 不报错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20894661/
我正在使用如下所示的 8 阶有限差分时间步进函数(用于二维声波方程)。 我观察到,与将英特尔的 __assume 语句放在内部循环中相比,将其放在函数体的开头,性能显着提高(高达 25%)。 (无论
当我使用 __assume(SomeFunc()); 时它编译得很好,即使 __assume 应该是一个编译时提示并且 SomeFunc() 无法在编译时预测其返回值。 有人能解释一下这里发生了什么吗
使用 VC++ 的 __assume 是否可能带来可衡量的性能提升?如果是这样,请在您的答案中发布带有代码和基准的证明。 关于 __assume 的稀疏 MSDN 文章:http://msdn.mic
CUDA 为内核作者提供了两个函数,__builtin_assume()和 __assume() .他们的签名是一样的: void __builtin_assume(bool exp); void _
我是一名优秀的程序员,十分优秀!