int i=1000000000;
int j=1000000000;
double a,b,c,d,e;
for(i=0;i<10000000;i++)
{
for(j=0;j<100;j++)
{
a=100.12341234;
b=122.12341234;
c=a*b;
d=a/b;
e=a+b;
e=a-b;
}
}
int j=1000000000;
double a,b,c,d,e;
for(i=0;i<10000000;i++)
{
for(j=0;j<100;j++)
{
a=100.12341234;
b=122.12341234;
c=a*b;
d=a/b;
e=a+b;
e=a-b;
}
}
int i=1000000000;
int j=1000000000;
double a,b,c,d,e;for(i=0;i<10000000;i++)
{
for(j=0;j<100;j++)
{
a=100.12341234;
b=122.12341234;
c=a*b;
d=a/b;
e=a+b;
e=a-b;
}
}
vc的debug是按你写的程序来算的
而release会将你的程序进行优化,即只算了一次b,c,d,e,因即就基本上不用时间了
a=100.12341234+i;
b=122.12341234+j;
release效率同样高得惊人,<1ms
也解释不通啊
不是,只是 Java 中针对 int 计算做了优化,对于 int 计算来说 Java 比 C 快,其他的数据类型就不是了。
a=100.12341234+i;
b=122.12341234+j;在我的vc6中改为release的确如此,就是很快,不费时间的
int i=1000000000;
int j=1000000000;
double a,b,c,d,e=0;
for(i=0;i<10000000;i++)
{
for(j=0;j<100;j++)
{
a=100.12341234+i;
b=122.12341234+j;
c=a*b;
d=a/b;
e+=c+d;
}
}
java 费时11秒,vc6 debug 费时48秒, release费时11秒