为什么虚拟机运行一段代码会比主机快很多倍?

问题遇到的现象和发生背景

使用的vm上装的Ubuntu和win主机的devc++,在验证虚拟机的高性能,然后就想用代码运行速度来验证,代码如下:
#include
#include
#include
int main() {
clock_t start, end;
start = clock();
int i,num;
for(i=0; i<2000000000; i++) {
num=i;
}
end = clock();
printf("time=%.8f\n", (double)(end - start) / CLOCKS_PER_SEC);
return 0;
}

运行结果及报错内容

img

img

问teacher,结果不知道,又上网查了查,说电脑有其它软件占用资源,我寻思,我这高性能游戏本,什么软件都没开,为什么虚拟机比主机会快这么多倍,第一次遇见。

我想要达到的结果

我看同学们运行二者相差没这么大,是电脑的问题还是虚拟机的问题。而且我的虚拟机的运行时间和同学们的差不多,但是主机的比他们慢了好多倍。

我猜测是编译工具,编译选项不一样吧。可能gcc默认做了优化,windows下没有做优化,或者优化等级不一样。