请问在虚拟机linux上运行函数会变慢吗?
#include<stdio.h>
#include<time.h>
int main(void){
int t1;
typedef struct _timeval {
long s;
long ns;
} timeval;
timeval start,end;
printf("time now %d\n",t1);
int i,j;
double n;
gettimeofday(&start,NULL);
for(i=0;i<100;i++){
for(j=0;j<10000;j++){
//n+=0.1;
}
}
gettimeofday(&end,NULL);
int ns=end.ns-start.ns;
ns/=1000;
int s=end.s-start.s;
printf("%d ms,%d s passed\n",ns,s);
}
我用的windows,linux跑在VMware上。请问在linux虚拟机上运行下面的函数,和在真实linux环境下的输出结果会有差距么?差距大么?(可以保证宿主CPU足够空闲)
我在虚拟机上测了100万次空循环耗时在12~17毫秒,若执行n+=0.1运算,上升到20多毫秒。
希望工作在linux环境下的朋友帮忙测一下。