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上解决这个问题了