What happens on Ctrl + C?

조회 수: 9 (최근 30일)
Tiko
Tiko 2017년 12월 4일
답변: Philip Borghesani 2017년 12월 4일
I have a problem that my code becomes slower with each iteration (I used a profiler, it is none of the usual culprits: unclosed figures or non-preallocated arrays). If I click Ctrl+C and continue where I started, it runs quickly again. Can someone please tell me what exactly happens on Ctrl+C? I tried writing my variables into a file, clearing all and re-starting, but it didn't help. I would like to know which function is called on this command so I can reproduce this behavior.
  댓글 수: 6
Tiko
Tiko 2017년 12월 4일
편집: Tiko 2017년 12월 4일
I also observed the memory in the task manager, as well as with the "memory" command. Interestingly enough, the task manager shows a memory increase. The "memory" command, placed every few iterations, shows a slight decrease. I wrote a script that calls the same function twice. Thus, in the second call it should not be using more memory, but the task manager begs to differ and the second simulation is slower as well. In either case, the task manager claims I am using about 15% of the total memory.
Philip Borghesani
Philip Borghesani 2017년 12월 4일
Some additional information would help here: What MATLAB version are you using and are you using any custom MEX files?

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

채택된 답변

Philip Borghesani
Philip Borghesani 2017년 12월 4일
Two things happen when MATLAB returns back to the command line:
  1. Memory leaked by any mex files is cleaned up (mxMalloc... or MATLAB arrays). The best practice is to only rely on automatic clean up in the event of an error.
  2. Any pending display/graphics messages are processed by MATLAB. This can be forced by adding a drawnow to your code. In general this should not cause an issue because there should not be a huge number of events pending but there have been bugs in the distant past.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by