-
Notifications
You must be signed in to change notification settings - Fork 10
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
Optimize nassau::Resolution::write_qi
#102
Comments
This is essentially computing the quasi-inverse, which is doing some necessary work. There is probably still room for improvement though. I would suspect this is more memory-bound than CPU-bound; I don't thing we are reading things in a very cache-friendly way. |
I still think this is one of the biggest improvements we could make right now, even more than computing Milnor products faster. Here's a snippet from the logs
I still feel like we could make use of matrix-matrix operations but I don't understand the code well enough yet |
Right now this line
sseq/ext/src/nassau.rs
Line 519 in 127aa0f
is extremely hot. I would even say it's one of the main bottlenecks to computing at large stems. Looking at active threads with
top
and runningpstack
on them periodically, it seems I usually have only a handful of threads running, and they are all executing that line. (See #101 for more detailed logging)If I'm reading this correctly, this code looks like it's doing some vector-vector operations repeatedly. Would this be a good candidate to replace with vector-matrix or matrix-matrix operations? In the latter case #100 will probably give a massive speedup.
The text was updated successfully, but these errors were encountered: