![]() |
1
9
您可以设置循环所用的最短时间,如下所示:
睡眠调用最少需要100ms(你不能说出最大值),所以你的循环至少需要1秒来运行10次迭代。
|
![]() |
2
7
你永远不能依赖一个循环的速度。尽管所有现有编译器都力求使循环尽可能高效,因此它们可能产生非常相似的结果(给定足够的开发时间),编译器并不是唯一影响这一点的思维。 即使抛开其他一切,不同的机器也有不同的性能。没有两台机器能产生完全相同的速度。事实上,即使在同一台机器上启动两次程序,也会产生稍有不同的性能。这取决于其他程序在运行,CPU今天的感觉如何,月亮是否发光。 |
![]() |
3
6
这是一个简单的循环:
这个循环太简单了,它只是一对加载、添加、存储操作,带有一个跳转和一个比较。这将只是几个微操作,并将非常快。然而,这些微操作的速度将取决于处理器。如果处理器可以在1×第十亿秒(大约1千兆赫兹)中执行一个微操作,那么循环将花费大约6×100个微操作(这都是粗略估计,涉及到的因素很多,我只需要近似)或6×100亿分之一秒,或者略小于一百万分之一秒。整个循环。在大多数操作系统功能中,您几乎无法衡量这一点。 我想演示一下循环的速度。我在上面提到一个每秒10亿微操作的处理器。现在考虑一个每秒能做40亿次微操作的处理器。这个处理器的速度大约是第一个处理器的四倍。我们没有改变密码。 这能回答问题吗? 对于那些想提到编译器可能会循环展开这个的人,为了学习而忽略它。 |
![]() |
4
2
这将确保只要系统能够保持运行,逻辑就以给定的间隔执行,因此,如果您尝试每秒执行100次,根据执行的逻辑,系统可能无法每秒执行100次。在其他情况下,这应该工作得很好。
|
![]() |
LA.27 · F#在Linux上-目标是net4xx 7 年前 |
![]() |
tayoung · 如何在GTK中禁用TextView的透明度? 7 年前 |
![]() |
McKay · C#WebRequest成功。NET但使用Mono失败 7 年前 |
![]() |
Cristian M · 将24位2的补码转换为int? 7 年前 |
![]() |
MadeInDreams · 更改Unity中的默认IDE 7 年前 |