Very slow function, excessive overhead?
Ältere Kommentare anzeigen
I've got a function that looks at a n x 2 array (1st column time vector, 2nd column flag vector) and it's running incredibly slow. As you can see, line 17 takes almost all of the runtime. I've read that this could be related to overhead, but I don't actually know what that means or how to improve it. Any ideas on what could be causing this?

Akzeptierte Antwort
Weitere Antworten (1)
The inner while loop is not necessary: if flag(i,2)-flag(i-1,2) == 1, then of course flag(i,2)-flag(i-1,2) ~== -1. Thus the incrementation i = i+1 will always happen. This is strange since you increment i again after you quit the if-clause.
Preallocating "events" as zeros(size(flag,1),3) and finally cutting it by events = events(1:j-1,:) might speed up the function also.
1 Kommentar
Jesse
am 27 Mär. 2023
Kategorien
Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!