Why is My Code Running So Slowly?

24 ビュー (過去 30 日間)
James
James 2016 年 4 月 25 日
コメント済み: Walter Roberson 2019 年 5 月 29 日
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 Center および File ExchangeGraphics Performance についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by