Why is My Code Running So Slowly?

23 次查看(过去 30 天)
My code is running incredibly slow. I have it setup so that it plots every so often throughout the "For" loop, but the plotting is unusually slow. I cannot spot the problem in my code. At the end you will notice that I have it pausing for a brief period of time so that the plot can be viewed.
Thank You, JS
  4 个评论
Clayton Ragsdale
Clayton Ragsdale 2019-5-29
Once your RAM runs out of memory, it then starts using your hard drive, the data transfer between RAM, and hard drive is very slow; thus it could be possible that your computer requires more RAM. If not the case, check your techniques on saving memory and run time
Walter Roberson
Walter Roberson 2019-5-29
Whether swapping to SSD or hard disc occurs depends upon the operating system and system configuration. It is, however, typical that some swap to disc can happen, and that is rather slow.

请先登录,再进行评论。

采纳的回答

jgg
jgg 2016-4-26
编辑:jgg 2016-4-26
Try using the profiler, as per isakson recommends. This will give you an idea of what is taking up your time. MATLAB will use a paging system if it runs out of RAM on most systems, which is very slow but prevents crashing; I see that you use like 85% of my system memory here, which is about 8 GB so it would depend on your system.
I tried this with the code you sent, and it indicated that line 118 was the problem. It doesn't seem to need to be there, since your code should generate one anyways, so I just commented it out and the performance improved dramatically; for reference, after that change, this runs in about 31s on my system.
The plotting still seems to be the slowest part of your code. Perhaps it would be better to just save the data to be plotted, then perform the plotting at the end. I'm clear why it's quite so slow, but you do have a lot of points to plot.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by