function bm_sparse() N = 1000000; NNZ = 20*N; NRUNS = 5; for j = 1:NRUNS r = randi(N,NNZ,1); c = randi(N,NNZ,1); v = randn(NNZ,1); x = randn(N,1); tic; A = sparse(r,c,v,N,N); t(1,j) = toc; tic; B = 2*A; t(2,j) = toc; tic; A = A'; t(3,j) = toc; tic; B = A+B; t(4,j) = toc; tic; y = A*x; t(5,j) = toc; tic; y = A'*x; t(6,j) = toc; end % ignore 1st run av = mean(t(:,2:end),2); sd = std(t(:,2:end),0,2); ver fprintf('\nN=%i NNZ=%i NRUNS=%i\n',N,NNZ,NRUNS); fprintf(' sparse: %f (%f)\n', av(1),sd(1)) fprintf(' 2*A : %f (%f)\n', av(2),sd(2)) fprintf(' A'' : %f (%f)\n',av(3),sd(3)) fprintf(' A+B : %f (%f)\n', av(4),sd(4)) fprintf(' A*x : %f (%f)\n', av(5),sd(5)) fprintf(' A''*x : %f (%f)\n',av(6),sd(6)) end