What happens on Ctrl + C?
20 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Tiko
il 4 Dic 2017
Risposto: Philip Borghesani
il 4 Dic 2017
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 Commenti
Philip Borghesani
il 4 Dic 2017
Some additional information would help here: What MATLAB version are you using and are you using any custom MEX files?
Risposta accettata
Philip Borghesani
il 4 Dic 2017
Two things happen when MATLAB returns back to the command line:
- 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.
- 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Performance and Memory in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!