1
0
如果问题是:“如果timing.c是用-xO4编译的,为什么运行时间从3520000变为0?”然后,答案是-X04执行优化*,使计时运行速度比没有标记的情况下更快。我们不知道什么单位用于运行时间。如果是毫秒,那么您的加速时间是从大约1小时的运行时间到不到一毫秒。这有点令人惊讶。 *(见 Abel's post 具体细节。) |
2
2
第一行编译C程序。第二条线运行它。我猜跑步不到一秒钟,所以报告的时间会变为零。 |
3
1
就在-xO4开关上, quote :
尽管这稍微依赖于目标处理器。即。, this is for a SPARC processor 上面提到的是x86。 |
4
0
第一行将源文件timing.c中的C程序编译成一个名为timing的可执行文件。-xO4是传递给编译器的标志。它是特定于平台/编译器的,但看起来像是执行级别4优化的选项。第二行执行代码。你可以知道“计时器”用“时间”程序执行需要多长时间。
|
5
0
好的,在您编辑问题以显示第二次执行之后,有几个关于您的问题的解释,没有
我能想到的第一个解释是
第二种解释是命令从磁盘或类似的慢媒体加载信息,第二种执行实际上是第一种执行,实际上它必须等待磁盘。在第二次执行(第一次显示的执行)中,要加载的数据已经在缓存中,所以它只是将内存复制到内存中,这要快得多。 在这两种情况下,一些优化和/或缓存技术会删除 全部的 开销和代码执行时间,因此您所显示的第一次执行中的代码所花费的时间很可能比所使用的计时方法的准确性要短。例如,如果精度为1毫秒,则总运行时间小于1毫秒,因此看起来像零。 |
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |