-
Notifications
You must be signed in to change notification settings - Fork 0
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
Vectorize temporal superposition #30
Conversation
related to #15 The biggest problem with the code right now appears to be the containers not all being 1D. I propose creating an "ideal" temporal super position function and performing timing tests on that to compare to what originally existed.
Commit fcc6ab5 provides a significant performance improvement. The table from #14 (comment) is recreated comparing timings of the tests for the most recent release (
This implementation assumes all segments lengths are the same. They are, and may always be, but this should be taken into consideration. It will be possible to consider differing segment lengths in the future, but now and possibly the merge of this branch will create a new issue. There is still quite a bit of work to be done along this line, so the speed improvements will be more in the future of this branch. |
The temporal superposition function has been made final by creating the desired 1D vectors beforehand and passing them in. This brings about some unnecessary overhead and memory consumption that will be addressed in the near future.
The
temporal_superposition
function is the primary bottleneck holding backcpgfunction
from leavingpygfunction
in the dust as far as a comparison of speed goes. The function needs vectorized so the time to solve the problem does not grow so heavily as the size of the problem becomes larger.