Skip to content
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

Speed/Memory Bottlenecks #6

Open
edeno opened this issue Oct 13, 2017 · 5 comments
Open

Speed/Memory Bottlenecks #6

edeno opened this issue Oct 13, 2017 · 5 comments

Comments

@edeno
Copy link
Contributor

edeno commented Oct 13, 2017

  • Computing the cross-spectra
  • Minimum phase-decomposition
@Who8MyLunch
Copy link

Who8MyLunch commented Oct 14, 2017

Hi @edeno you might consider using FFTW (https://github.com/pyFFTW/pyFFTW) if you're looking for faster performance. It makes a huge improvement. It's a drop-in replacement for Numpy and Scipy FFT implementations.

@edeno
Copy link
Contributor Author

edeno commented Oct 15, 2017

Thanks @Who8MyLunch. I will definitely check that out.

You don't happen to have any suggestions for something that has to take the dot product many times do you? I'm considering moving that portion to using cython, but I don't have much experience with that.

@Who8MyLunch
Copy link

@edeno there's a number of options for accelerating your dot products, the simplest being Numpy and the next being Cython. Cython is good, but it's not trivial. Numpy is trivial to use. There are many examples around the internet of using both to speed up fundamental work tasks like dot products. Good luck!

@christian-oreilly
Copy link

I had to delete any use of lru_cache in my local copy to avoid the memory exploding to unreasonable values (above 64 GB). Even deletion of the objects and explicit garbage collection would not do the trick. So, bottom line, depending on where your use case falls with respect to the speed/memory usage tradeoff, caching might not always be a good idea. A possible improvement would be to make the caching optional and control it by an argument to the function using it (set by default to True for backward compatibility).

@edeno
Copy link
Contributor Author

edeno commented Oct 8, 2021

@christian-oreilly That makes sense. I'll think about a better way to handle this. Thank you for that feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants