黑马程序员技术交流社区
标题:
一个奇怪的问题
[打印本页]
作者:
闪客sun
时间:
2016-11-23 17:28
标题:
一个奇怪的问题
int a = 1000;
for(int i =1;i<100000000;i++){
int b = a/2;
}
这段程序会运行约1400毫秒。
但如果把定义a的语句放在循环里。
for(int i =1;i<100000000;i++){
int a = 1000;
int b = a/2;
}
凭感觉来讲应该会运行更长时间才对,但结果确是运行了,130毫秒!
效率反而提高了一大截!求解~
作者:
守望の希望
时间:
2016-11-23 17:45
作者:
呱码农
时间:
2016-11-23 18:44
是不是因为全局变量的生存时间比较长,所以比较慢呀。我也不知道
作者:
闪客sun
时间:
2016-11-23 19:21
呱码农 发表于 2016-11-23 18:44
是不是因为全局变量的生存时间比较长,所以比较慢呀。我也不知道
这个倒是真有可能,明天我问问老师。其实一开始我想比较右移运算符和除法的效率,结果意外发现了这个问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2