Accelerating splink using graph-tool for bellman-ford search #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
graph-toollibrary appears to be much faster thancsgraph.bellman_ford_searchfor running the Bellman-Ford algorithm. However, installinggraph-toolcan be a bit challenging, and it is not well supported on Windows. For this reason, I have added graph-tool as an optional dependency rather than a required one. In terms of speed, the following code demonstrates thatgraph-toolis approximately 5 times faster than the default implementation. In 3D, I have found the speed difference to be even greater (see here)Speed-wise:
Default run: 16.17208695411682
graph-tool: 3.133636713027954
I've also added a test file.
I hope it helps.