Increase execution speed of saving using matfile
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to continously save data (in appdesigner if that is relevant), therefore I create a matfile object on startup and then append data using a timer:
"Main"
app.SavingObject = matfile(app.FileName,'Writable',true);
And in a timer:
app.SavingObject.Data(app.sizeMyVar(1)+1:app.sizeMyVar(1)+size(NewPoints,1),1:app.sizeMyVar(2)) = NewPoints;
This will append my Data in the correct way.
What bothers me, if profiling this, you will see, that 40% of the time is spent internally using "whos". Sure this can be adjusted by the amount of how much data is written per call (I write ~60k Values per call), but it somehow feels like a waste of time and the amount of data per call is kind of fixed in my setup.
Is there a way to increase the wrtiting speed?
0 comentarios
Respuesta aceptada
Jan
el 27 de Feb. de 2019
A MAT file can contain a set of variables and store the data in compressed form. Appending new data to an existing variable is expected to be slow. It would be much more efficient to use a binary file and export the data to the MAT file at the end of the process at once.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Import and Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!