您不时会听到故事,这些故事旨在说明某人有多善于某事,有时您会听到这个人如何进行代码优化,以便优化他的延迟循环。
因为这听起来真的很奇怪,因为开始“定时器中断”而不是优化的buzy等待会好得多, 并且没有人倾向于告诉你优化黑客的名字。
这让我想知道这是一个都市神话还是真的?
你说什么,现实还是虚构?
由于 约翰
更新:听起来像ShuggyCoUk的东西, 想知道我们是否能找到一个例子。
更新:稍微澄清一下,这个问题是关于它自身的“延迟”功能以及如何实现,而不是如何以及在何处调用它。 那个目的是什么,以及该系统如何变得更好。
更新:这不是神话,那些家伙似乎存在
由于 ShuggyCoUk
答案 0 :(得分:4)
这不仅仅是关于它的真相......
旋转等待可以多比基于信号的中断或产量更好。
然而旋转等待是正确的。
这就是为什么在大多数情况下让别人为你编写旋转等待循环的原因..
在Linux中有cpu_relax macro
在Windows中有YieldProcessor
OS X eschews providing a standard implementation除非你在内核
关于使用PAUSE进行旋转等待的一些引用:
答案 1 :(得分:2)
我一直听到的版本是一群硬件程序员,他们开发了一条特殊指令,优化了操作系统的空闲(非忙)循环。 Kernighan & Pike's book 编程实践中提到了这一点,但即便如此,他们也承认它可能是一种都市神话。
答案 2 :(得分:0)
我听过程序员故意在项目早期故意放入长延迟循环的故事,并在以后删除它们作为“优化”以给管理留下深刻印象。从未弄清楚这些故事是否是杜撰的。