[問題] 矩陣維度與運算速度之間的關係
我現在有一筆五維資料f
其大小為a*b*c*d*3
接著我做迴圈運算如下
for a = 1:A
for b = 1:B
for c = 1:C
for d = 1:D
f(a,b,c,d,:) = f(a,b,c,d,:) - mod(f(a,b,c,d,:),5);
end
end
end
end
接著我試另一筆四維資料g
g是從f中取出來
g = squeeze(f(:,:,:,:,1))
然後跑一樣的計算
for a = 1:A
for b = 1:B
for c = 1:C
for d = 1:D
g(a,b,c,d) = g(a,b,c,d) - mod(g(a,b,c,d),5);
end
end
end
end
問題來了
我原本以為速度只差在每個迴圈中1維和3維的差異而已
運算速度應該就是3:1這樣而已
但實際跑卻發現速度差了40幾倍@@
這是為什麼?
難道說
f(a,b,c,d,1) = f(a,b,c,d,1) - mod(f(a,b,c,d,1),5)
和
g(a,b,c,d) = g(a,b,c,d) - mod(g(a,b,c,d,),5);
的運算速度有明顯差異嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.175.168
※ 編輯: KingSteven 來自: 140.112.175.168 (12/14 11:40)
→
12/14 13:04, , 1F
12/14 13:04, 1F
→
12/14 13:06, , 2F
12/14 13:06, 2F
→
12/15 09:53, , 3F
12/15 09:53, 3F
推
12/15 12:42, , 4F
12/15 12:42, 4F
→
12/16 20:07, , 5F
12/16 20:07, 5F
推
12/17 11:27, , 6F
12/17 11:27, 6F
→
12/17 15:39, , 7F
12/17 15:39, 7F
→
12/17 15:40, , 8F
12/17 15:40, 8F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):