用 Dev-C++ 运行程序时,为什么在程序运行前总有随机延迟,且无法解决?
  • 板块学术版
  • 楼主Herman526
  • 当前回复22
  • 已保存回复22
  • 发布时间2023/1/16 10:42
  • 上次更新2023/10/24 04:02:38
查看原帖
用 Dev-C++ 运行程序时,为什么在程序运行前总有随机延迟,且无法解决?
786834
Herman526楼主2023/1/16 10:42

我们平常写的 C++ 程序,都有一定的时间复杂度,它们通常都不会太小。但是,时间复杂度最小可以达到多少呢?带着这个疑问,我写了如下代码:

int main(){}

“这就是最短的能通过编译的 C++ 代码了,它的用时应该只包含 return 0 的用时吧!”我想。但是,当它开始运行后,我才看到了这代码的真面目。当我在 Windows 7\text{Windows 7} 电脑上,用 Dev-C++ 编译完一遍,控制台显示出来时,它竟突然“犹豫”了,连平常闪烁的光标也无影无踪了。过了 0.5s0.5\text s,它好像才反应过来似的,宣告了程序结束。我又试了好几次,虽然有时程序只有 50100ms50\sim100\text{ms} 延迟,可有时,程序仍然会犯“拖延症”,愣了 0.5s0.5\text s 才结束程序。我又将 Dev-C++ 中的最高级优化打开(不知道是什么优化,也许是 O3),虽然程序较快结束的几率大了些,但仍有延迟 >100ms>100\text{ms} 的情况零星出现。

难道时间复杂度最小也只能这样,有着无法解决的随机延迟吗?那为什么评测机判定的程序用时却最低可达 0ms0\text{ms}?这是因为 Dev-C++,电脑,还是程序的问题?

2023/1/16 10:42
加载中...