筆者覺得這應該有改善的空間,以前在學生時代寫程式交作業時,這種計算大約五分鐘就出來了,怎麼可能經過那麼多年,CPU都改了幾個世代了,這種數值的計算反而會花的時間更多?
於是筆者要了程式看了一下,加了二行程式,結果如下:
時間變成一分多,為什麼?
Memo1.Visible := False;
// 開始時間
stime := now;
...
...遞迴程式
...
// 結束時間
etime := now;
// 顯示計算時間和產生的數量
Label1.Caption := '時間: '+FloatToStr(Trunc((etime-stime)*24*60*1000+0.5)/1000)+' 分';
Label2.Caption := '數量: '+IntToStr(Memo1.Lines.Count);
Memo1.Visible := True;
Delphi的for迴圈其實是很快的,重點是在迴圈讓Delphie專注做它要做的工作。
沒有留言:
張貼留言