-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
solo.read_TNR()/SolO QLI: Function is slow, and speed scales badly with amount of data #140
Comments
Problem should exist in below loop:
In particular, the incrementally growing arrays |
Note: Underlying dataset used for testing have very similar sizes.
|
Indeed, the command |
Speculative idea: Could maybe parallelize the loop (parfor)? |
Seems one could simplify (not speed up)
to
. |
Seems one could almost simplify iteration (not speed up) to use only one if statement since Footnote: Not implementing these ideas myself since (1) I do not want to interfere with Jordi's work on |
Changing punt0_ = find(v1_ == 0.0); to v_1(v1_==0) = NaN; should work. The code was translated 'literally' from IDL so there are some implementations that are not optimized for matlab. |
Yes, now when I looked more carefully for it, that sounds it could be a "bad translation". I did not really intend to analyze |
Step 1: Latest code?
git pull
this is still a problem).Should be present in latest commit on devel branch:
b679b71a Erik P G Johansson (2024-04-08 12:46:41 +0200)
Step 2: Describe your environment
master
,devel
): develMatlab R2020b
): MATLAB R2023bWindows 10
,Mac OS X 10.15.6
,Linux Ubuntu 20.04
): Ubuntu 22.04.4 LTSStep 3: Describe the problem
solo.read_TNR()
appears to have performance issues. Wall time spent in function increases faster than linearly with length of time interval of data used for it (the argument).Steps to reproduce:
Simple code for visualizing behaviour.
The text was updated successfully, but these errors were encountered: