Re: [問題] for的速度問題已回收
※ 引述《e0101010 (我...)》之銘言:
: ※ 引述《ericabab (ㄍㄠˊ)》之銘言:
: : 今天跑程式發現一個搞不懂的問題
: : 以下兩種情況
: : (1)
: : for i=1:1000
: : ;
: : end
: : (2)
: : k=1:1000; %這行並沒有算在時間裡
: : for i=k
: : ;
: : end
: : 這兩種情況的for loop,(2)的速度會慢上好幾十倍
: : 想不通為什麼,我會覺得完全是一樣的事情@@
: : 謝謝
: 根據測試
: ===============================================================
: (B)
: 如果是寫
: tic
: for i=1:1000
: ;
: end
: toc
: k=1:1000;
: tic
: for i=k
: ;
: end
: toc
: Elapsed time is 0.000006 seconds.
: Elapsed time is 0.000244 seconds.
: 可能要考慮的是 是不是k在外面要多去執行判斷k的問題
: ===================================================================
你好,我的問題應該不只是因為k在外面要判斷的問題
如下code
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k1=1000;
tic
for i=1:k1
;
end
toc
k2=1:1000;
tic
for i=k2
;
end
toc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Elapsed time is 0.000006 seconds.
Elapsed time is 0.000185 seconds.
同樣兩個情況都有給k進去,但速度硬是差了30倍左右
因為我的程式的需求,其實我的k是一串不規則的數
所以只能用第二種方法。
而因為我要跑的迴圈很多,加上迴圈裡的指令時間不長
所以導致速度真的會慢幾十倍...因此想知道關鍵在哪
才能研究有沒有辦法改善
謝謝你~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.199.233
推
01/10 14:07, , 1F
01/10 14:07, 1F
→
01/10 14:15, , 2F
01/10 14:15, 2F
推
01/10 14:35, , 3F
01/10 14:35, 3F
→
01/10 15:25, , 4F
01/10 15:25, 4F
→
01/10 15:25, , 5F
01/10 15:25, 5F
→
01/10 15:25, , 6F
01/10 15:25, 6F
推
01/10 16:25, , 7F
01/10 16:25, 7F
→
01/10 16:30, , 8F
01/10 16:30, 8F
推
01/11 02:18, , 9F
01/11 02:18, 9F
討論串 (同標題文章)