카테고리
Performance Drillperformance
코드와 해설을 함께 읽는 학습 문서
Code Detail
Performance 중심의 Octave 학습 예제
ex-speed/speed_test1.m
코드를 복사해 Octave에서 바로 실행할 수 있습니다.
function [x, y, z] = speed_test1(n, p, q, r, t)
23 lines
function [x, y, z] = speed_test1(n, p, q, r, t)
# - n = 100000, p = 4, q = 4, r = 4
# - 실행 방식: `for` 루프를 네 번 중첩하여 각 요소를 개별적으로 할당
# - 실행 시간: 171.573 seconds (매우 느림)
# - 비효율적인 점: 매번 개별 요소에 접근하여 연산을 수행하므로, 반복문 오버헤드가 크다.
x = zeros(n, p, q, r);
y = zeros(n, p, q, r);
z = zeros(n, p, q, r);
for l=1:n
for i=1:p
for j=1:q
for k=1:r
x(l,i,j,k) = sin(t(l));
y(l,i,j,k) = cos(t(l));
z(l,i,j,k) = sin(t(l)) .* cos(t(l));
end
end
end
end
end ex-speed/demo_loop_speed.m
ex-speed/demo_save_option.m
ex-speed/speed_test2.m
ex-speed/speed_test3.m
ex-speed/speed_test4.m
ex-speed/speed_test5.m