MATLAB Answers

Why is Matlab slow with large objects in the workspace even when RAM is not limited?

조회 수: 38(최근 30일)
Will Roe
Will Roe 2019년 1월 8일
댓글: Erica Juliano 2021년 8월 10일
I'm running Matlab on a machine with 200 GB of ram, yet Matlab slows down horribly when I store large (~10GB) objects in the workspace.
To test, I've tried running tic; 1+1; toc.
This snippet sometimes runs nearly instantaneously (as one would expect) but often takes minutes! I cannot discern a pattern in the runtime--it seems random. However, even when it runs slowly (5 min for example), toc still shows that it ran in milliseconds. While the command is running, I'm able to use the computer and Matlab normally (except the command window of course.)
Scripts also run extremely slowly.
How can I speed things up?

채택된 답변

Philip Borghesani
Philip Borghesani 2019년 1월 8일
Close the workspace browser or hide its tab. It may be that changing the workspace preference for calculating statistical values to a smaller number will help.
After running any code, but before returning to the command line, anytime a base workspace variable could have changed (usually scripts or commands) the workspace browser needs to refresh its list of variables, values and statistics including variable size. For large object structures or cell arrays this can take a long time to determine.

추가 답변(1개)

Steven Lord
Steven Lord 2019년 1월 8일
Do you have the Workspace window open showing the properties of the large object? What happens if you close the Workspace window (leaving the object in the workspace, but not showing its properties) and rerun the tic / toc command?
  댓글 수: 3
Erica Juliano
Erica Juliano 2021년 8월 10일
What do you mean by showing the properties? Right now I have my workspace windown minimized. Is this what you mean? Or is there something else I shouldn't be showing? It shows the "value" and "name".

댓글을 달려면 로그인하십시오.

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by