cn8888 发表于 2014-4-20 15:33:28

mathe 发表于 2014-4-18 19:24
差距并没有变大,140.438/134.719 和 70.5/66.734没有本质区别,前者反而更小。

5*10^7是70.5-66.734=3.766 ;10^8是140.438-134.719=5.719. 时间增加了,你说呢?
5.719/3.766=1.518587361

mathe 发表于 2014-4-20 21:18:38

总时间增加的更多,线性关系才是正常的

无心人 发表于 2014-4-20 21:33:25

要比较的是时间增加率而不是绝对值

cn8888 发表于 2014-4-21 09:00:39

再帖一个结果给你们看看:
Clear["Global`*"];(*Clear all variables*)Big = 2*10^8;
Print@Timing];
Print@Timing];
{276.609,Null}
{293.625,Null}
In:= (293.625 - 276.609)/293.625
Out= 0.0579515

cn8888 发表于 2014-4-21 09:06:23

我相信,如果把c++与c的上限big弄很大的话,那么这个差别也是能明显地看出来的

cn8888 发表于 2014-4-21 09:14:44

Clear["Global`*"];(*Clear all variables*)Big = 10^6;
t1 = Timing][];
t2 = Timing][];
Print@{t1, t2, (t2 - t1)/t2};


{1.375,1.375,-4.84461*10^-16}

Clear["Global`*"];(*Clear all variables*)Big = 10^7;
t1 = Timing][];
t2 = Timing][];
Print@{t1, t2, (t2 - t1)/t2};


{13.672,13.734,0.00451434}
看样子相对量是增加的

mathe 发表于 2014-4-21 12:42:45

自己先认真想一想,犯很多简单的错误,别人很难有耐心继续同你讨论的

cn8888 发表于 2014-5-4 13:14:51

已经在stackoverflow上解决这个问题了
页: 1 2 [3]
查看完整版本: 为什么小循环里面套大循环比大循环里面套小循环要快?