laggy issue of code editor in R2018b
Show older comments
I am using Macbook Pro 2014. 2.6Ghz i5 processor, 8GM 1600Mhz memory. I installed two versions of matlab, 2015a and 2018b. When I edited my codes in 2015a, everything is fine. However, running 2018b on the same machine, the code editor is very laggy. By "laggy", I mean when I simply tried to move the cursor or type some texts, it may respond after 1-2 seconds. Sometimes, the left bottom corner popped out info "processing...". I didn't see this info in the previous matlab version. Is the new version running something new in the back to cause this laggy issue? Am I the only one having this problem?
3 Comments
Jorn Bosma
on 1 Oct 2018
Having the same problem on my MacBook Pro 2017. Went back to R2018a, which shows none of this behaviour.
Josh Parks
on 1 Oct 2018
I'm having the same issue with a MacBook Pro 2015. 2018a has no issues
Yan Zhang
on 2 Oct 2018
Answers (4)
Kris Fedorenko
on 3 Oct 2018
Edited: Kris Fedorenko
on 3 Oct 2018
17 votes
There were instances of similar behavior in R2018b caused by the Magnet app. Turning it off should resolve the issue. Alternatively, you should be able to use keyboard shortcuts with no delays.
8 Comments
Yan Zhang
on 3 Oct 2018
Zerui Wang
on 14 Nov 2019
thanks a lot. it perfectly solved my problem!
Max Shustef
on 17 Nov 2019
Wow, this fixed it instantly. Thanks!
Caden Scharpf
on 3 Mar 2020
Thank you!!!
Lucas Schneeberger
on 17 Mar 2020
Wow that solved the problem, indeed ! isn't it possible to exclude Matlab from the inputs Magnet needs to analyse ?
Josh Carlile
on 19 Jan 2021
Quitting magnet solved the problem. Fantastic find!
I haven't seen any way to opt-out Matlab from Magnet but if anyone has suggestions please share
Jonas Hofbauer
on 23 Apr 2022
When Matlab is open, you can go into the Magnet settings via the menu-bar dropdown and tick "Igonre Matlab" – resolved the issue for me!
Fan Zhang
on 27 Jun 2019
4 votes
I encoutered the same problem on both r2018b and r2019a. The solution is to turn off Magnet.
Hope it helps.
Daniel Pantea
on 22 Oct 2018
Edited: Daniel Pantea
on 22 Oct 2018
1 vote
Seems not only MAC is affected. I have same delays in Windows 7 x64. Tested same script and: - with R2018b it needed 23.4s to process the data. - with R2018a it needed 17.21s to process the same data. I have to go back to R2018a as in some situations the display gets unresponsive for seconds with R2018b! Hope they come with some patches, else this is a step back...
5 Comments
Daniel Pantea
on 22 Oct 2018
Just installed older R2017a and with it I got 15.52s, which slightly better even compared to R2018a. Compared with R2018b it's almost half!
Daniel Pantea
on 22 Oct 2018
I did more tests and installed older versions (with 2016a my script was incompatible so I stopped there). I did 3 tries with each version. Between try 1 and try 2 I completely exited and restarted Matlab and between try 2 and try 3 I only restarted the script. Below are the results. The winner is 2017a however 2017b is very close. But 2018b clearly is far behind. All these tests I did on Win7 x64 with same script and same input data.
_
Version tic/toc result as "Elapsed time is xx seconds"
Try 1 Try 2 Try 3 Average
2016b 14.762806 14.935183 14.605913 14.76796733
2017a 13.497024 13.604032 13.143465 13.41484033
2017b 13.143465 14.256278 13.858204 13.752649
2018a 14.967507 14.433997 14.433997 14.61183367
2018b 21.618891 22.884296 21.82832 22.11050233
_
Steven Lord
on 22 Oct 2018
I recommend sending your data processing script to Technical Support and working with the Support staff to determine the cause of this slowdown (as well as hopefully a solution or workaround.)
Yan Zhang
on 22 Oct 2018
Daniel Pantea
on 25 Oct 2018
I got great help from support and they identified a place of optimization which reduced the consumed time about 10 times! Details are below and after that the elapsed time difference from 2018b vs 2018a was insignificant:
- 17a: 1.931015 seconds.
- 18a: 2.253766 seconds.
- 18b: 2.268560 seconds.
Here's detail of the improvement (which are specific to my case) I received from support:
Around line 775 in the SCRIPT.m, there is a very tight loop:
for i = 1:N1
k = min(i, mean_len);
my_mean = (my_mean*(k-1)+hUI.preprocessed{1}{ch}(i)) / k;
hUI.preprocessed{3}{ch}(i) = my_mean;
end
Using temporary variables to hoist some of the indexing out of the loop will make a huge difference:
tempVar3 = hUI.preprocessed{3}{ch};
tempVar1 = hUI.preprocessed{1}{ch};
for i = 1:N1
k = min(i, mean_len);
my_mean = (my_mean*(k-1)+tempVar1(i)) / k;
tempVar3(i) = my_mean;
end
hUI.preprocessed{3}{ch} = tempVar3;
Yan Zhang
on 23 Jan 2019
0 votes
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!