2010-07-14 64 views
2

我正在寻找一个(非常)简短的语句(以任何语言),可以使CPU忙一秒半。 该声明应该消耗CPU周期,而不是IO的东西。一个简短的声明,消耗大量的CPU周期

+2

'usleep(500000)'? – kennytm 2010-07-14 09:36:31

+1

@KennyTm:usleep不忙等待! – 2010-07-14 09:39:11

+1

不会使CPU繁忙。 – 2010-07-14 09:39:18

回答

3

伪代码:

A = 2 
StartTime = GetTime() 
While (GetTime() - StartTime) < 1.0 
    A = A * 2 
+1

'A = A * 2'是不必要的 – 2010-07-14 09:49:35

+3

我的轻浮的答案将会是'exec Outlook.exe'。然后我意识到他只想让CPU保持几秒钟而不是30秒左右! – 2010-07-14 10:01:33

+0

哈哈@graham:P haha​​ – khelll 2010-07-14 10:21:14

1

用java BigIntegers,你可以尝试和实施http://en.wikipedia.org/wiki/Ackermann_function

这会让你去一段时间。

+1

+1我想到了Ackermann,但即使是最紧密的实现也不仅仅是“一个(非常)简短的陈述”。请注意,我想提问者也会说“用任何语言”,我敢打赌,Ackermann的J/APL实施约为一条线的三分之一...... – AakashM 2010-07-14 10:11:53