Matlab’ta veriler sütun bazlı şekilde sıralanmaktadır. Bellekteki verilerin satır bazlı sıralandığına yeni yeni alışırken, Matlab’ta verilerin sütun bazlı şekilde sıralandığını öğrenmenin şokunu yaşamaktayım. Satır bazlıya göre verilerimizi ayarlayıp, ona uygun bir indeks yapısı kurmuştuk, şimdi de sütun bazlı sıralamaya göre bir yapı kurmamız gerekli.

Aynı işlemin satır ve sütun bazlı yapıldığı vakit sütun bazlının daha hızlı olduğunu aşağıdaki örneklerden görebiliriz.


clear all;
A=rand(300,300,40,40);
B=zeros(300,300,40,40);
tic
for i=1:300
for j=1:300
B(i,j,:,:)=2.5 * A(i,j,:,:);
end
end
toc

Yukarıdaki kod 9.972601 saniyede çalışmıştır.

clear all;
A=rand(300,300,40,40);
B=zeros(300,300,40,40);
tic
for j=1:300
for i=1:300
B(i,j,:,:)=2.5 * A(i,j,:,:);
end
end
toc

Yukarıdaki kod 7.140390 saniyede çalışmıştır.

Kodlar incelendiğinde satırların önce okunmasıyla yapılan işlemin daha yavaş olduğu görülmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir