0
只是为了检查matlab中的并行处理是如何工作的,我尝试了下面的一段代码并测量了执行时间。但是我发现并行处理代码比意想不到的普通代码花费更多时间。我在某处做错了吗?如何检查matlab中的并行处理性能?
代码与并行处理
function t = parl()
matlabpool('open',2);
tic;
A = 5:10000000;
parfor i = 1:length(A)
A(i) = 3*A(i) + (A(i)/5);
A(i) = 0.456*A(i) + (A(i)/45);
end
tic;
matlabpool('close');
t = toc;
end
有导致用于并行处理
>> parl Starting matlabpool using the 'local' profile ... connected to 2 workers. Sending a stop signal to all the workers ... stopped.
ans =
3.3332
function t = parl()
tic;
A = 5:10000000;
for i = 1:length(A)
A(i) = 3*A(i) + (A(i)/5);
A(i) = 0.456*A(i) + (A(i)/45);
end
tic;
t = toc;
end
结果为没有并行处理代码
>> parl
ans =
2.8737e-05