Hallo Jan,
Was genau ist "Performance"? GUIs leiden immer unter der langsamen Benutzung durch die User. Da kann auch eine GUI die mit 100Hz ihren Zustand ändern kann, kaum die Effizienz steigern :-)
Mit Performance meine ich, wie schnell Matlab die Daten verarbeiten kann. Rein als Beispiel, speichert man einen 200000x1-Vektor im Workspace und per setappdata und greift dann darauf zu, sei es zum Rechnen, Plotten oder oder. Ist eine Variante prinzipiell schneller als die andere? Oder vielleicht in Abhängigkeit der gespeicherten Daten?
Weiß nicht, ob man sich über so etwas Gedanken machen muss oder ob Matlab damit eigentlich immer gut zurecht kommt.
Deine Antwort scheint ja eher dafür zu sprechen, dass es keinen (großen) Unterschied macht.
Aber Daten in den (Base-)Workspace zu schreiben ist viel schwieriger zu debuggen. Da kann es schonmal eine Stunde dauern, bis man herausgefunden hat, welche Funktion nun für die aktuellen Werte verantwortlich ist. SETAPPDATA ist deshalb deutlich sicherer.
Ok, das ist gut. Bisher wird ohnehin setappdata verwendet.
Suche nach im Netz "Matlab copy on write" und "Matlab call by reference" - letzteres ist in Matlab nicht möglich, aber die diskussionen darüber enthalten alle Details und Links zu der Dokumentation.
Das werde ich über's Wochenende mal machen und mich bzgl. Datenverarbeitung schlau machen.
Vielen Dank!
Grüße,
Seban
↧