% Initialize m = 5000; n = 5000; x = 3 * ones(m,1); A = 0.001 * ones(m,n); y = zeros(n,1); % Loop tic; for i=1:m y(i) = 0; for j=1:n y(i) = y(i) + A(i,j) * x(j); end end toc; % Efficient Way tic; y = A * x; toc; % Almost Efficient tic; for i=1:m y(i) = A(i,:) * x; end toc; % Bad Way to Initialize clear x; clear y; clear A; tic; for i=1:m x(i) = 3; end for i=1:m for j=1:n A(i,j) = 0.001; end end toc;