- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究应该实时运行的流体动力学 Navier-Stokes 求解器。因此,性能很重要。
现在,我正在查看许多紧密循环,每个循环都占执行时间的很大一部分:没有单一的瓶颈。这些循环中的大多数执行一些浮点运算,但中间有很多分支。
浮点运算主要限于加法、减法、乘法、除法和比较。所有这些都是使用 32 位浮点数完成的。我的目标平台是 x86,至少有 SSE1 指令。 (我已经在汇编器输出中验证了编译器确实生成了 SSE 指令。)
我使用的大多数浮点值都有一个相当小的上限,接近零值的精度并不是很重要。所以我想到了:也许切换到定点算法可以加快速度?我知道唯一确定的方法就是衡量它,这可能需要几天时间,所以我想事先知道成功的几率。
定点在 Doom 时代风靡一时,但我不确定它在 2010 年的位置。考虑到现在有多少硅用于浮点性能,定点算法是否有可能仍然存在给我一个显着的速度提升?有没有人有任何可能适用于我的情况的实际经验?
最佳答案
正如其他人所说,如果您已经在使用浮点 SIMD,我怀疑您是否会使用定点获得很大的改进。
您说编译器正在发出 SSE 指令,但听起来您并没有尝试编写矢量化的 SSE 代码。我不知道编译器通常在这方面有多好,但这是需要调查的。
另外两个需要关注的领域是:
关于performance - 定点算术值得我费心吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2667397/
我正在生成代码,其中我恰好将 n 个单词从一个内存位置复制到另一个非重叠内存位置。 n 是静态已知的。 目前,我发出大量加载指令,然后是大量存储指令,但我怀疑从 n 的某个值开始,调用 memcpy会
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
用例如下: 我有一张 map ,其中将插入一些键/值。 该程序将查询该 map ,但是在第一个查询之后,我可以保证该 map 将完全不会被修改。 因为查询的结果完全是输入的函数,所以在查询方法上放置属
Helo 伙计们,我尝试使用 Refs 并在他的内部提供 this.setState 但它给出: Maximum update depth exceeded. This can happen when
在检查事件时,使用带有 switch 或 if 的代码块是很常见的事情。如果变得简单,它可以是干净的代码,但似乎仍然有比需要更多的行,并且可以使用 lambda 进行简化。 用 if 阻止: if(a
Amazon 最近宣布在其 RDS 产品线中支持 Oracle: http://aws.amazon.com/rds/oracle/ 我想知道是否有人使用过它,或者是否有令人信服的理由将我的数据从 M
我是一名优秀的程序员,十分优秀!