This issue has been partially resolved in R2020b, R2020a, R2019b Update 5, and R2019a Update 8. Most Live scripts with loops now run as fast in the Live Editor as in the Editor or at the command line.
For example, with this change, the approximate execution times of the example from Lukas Müller's post above are:
R2018b: 200.2 s
R2020a: 0.160 s
The code was timed on a Windows 10 system with a 3.6 GHz Intel Xeon W-2133 CPU.
However, as mentioned in the replies below, the performance of rendering graphics within the Live Editor is still a known issue. Specifically, figures containing many graphics objects, such as those often created by basic graphics commands (plot, line, etc.) in tight loops, can be impacted.
For example, this code (based on the post by jdg below), takes 12 seconds to run in the R2020b Live Editor, and 4 seconds in the R2020b Command Window. The code was timed on a Windows 10 system with a 3.6 GHz Intel Xeon W-2133 CPU.
for i = 1:2700
plot(rand, rand, 'ob');
This issue is actively being worked on. As a workaround, code that creates figures with many graphics objects can often be rewritten to reduce the number of graphics objects being created. This change can improve the overall performance of the code. For example, vectorizing the graphics code or using a different graphics command such as “scatter” can reduce the run time of the code in the Live Editor to be almost equal to the run time in the Command Window.
Just as an example, when the code above is updated to gather the data first and only plot the data once, the code now takes 0.5 seconds to run in the R2020b Live Editor, and 0.45 seconds in the R2020b Command Window. The code was timed on a Windows 10 system with a 3.6 GHz Intel Xeon W-2133 CPU.
x = zeros(1, 2700);
y = zeros(1, 2700);
for i = 1:2700
x(i) = rand;
y(i) = rand;
scatter(x, y, , 'ob');
If you have any other questions, or other use cases that you would like us to better consider, please feel free to reach out to Technical Support to let us know.