Dispersões de velocidade do MATLAB scatter3, plot3

É sobre como o MATLAB pode levar tempos muito diferentes para traçar a mesma coisa - e por quê.

Eu gero 10000 pontos no espaço 3D:

X = rand(10000, 1);
Y = rand(10000, 1);
Z = rand(10000, 1);

Eu então usei um dos quatro métodos diferentes para plotar isso, para criar um gráfico como este:

Fechei todas as figuras e limpei o espaço de trabalho entre cada execução para tentar garantir justiça.

Plotagem em massa usando scatter3:

>> tic; scatter3(X, Y, Z); drawnow; toc
Elapsed time is 0.815450 seconds.

Plotagem individual usando scatter3:

>> tic; hold on;
for i = 1:10000
    scatter3(X(i), Y(i), Z(i), 'b');
end
hold off; drawnow; toc
Elapsed time is 51.469547 seconds.

Plotagem em massa usando plot3:

>> tic; plot3(X, Y, Z, 'o'); drawnow; toc
Elapsed time is 0.153480 seconds.

Plotagem individual usando plot3:

>> tic; hold on
for i = 1:10000
    plot3(X(i), Y(i), Z(i), 'o');
end
drawnow; toc
Elapsed time is 5.854662 seconds.

O que o MATLAB faz nos bastidores nas rotinas "mais longas" para levar tanto tempo? Quais são as vantagens e desvantagens do uso de cada método?

Editar: Graças aos conselhos de Ben Voigt (ver respostas), incluídrawnow comandos no tempo - mas isso fez pouca diferença para os tempos.

questionAnswers(3)

yourAnswerToTheQuestion