Skip to content
This repository has been archived by the owner on Oct 8, 2021. It is now read-only.

massive retooling of package underway #31

Closed
sbromberger opened this issue Aug 13, 2018 · 2 comments
Closed

massive retooling of package underway #31

sbromberger opened this issue Aug 13, 2018 · 2 comments

Comments

@sbromberger
Copy link
Owner

Given the new Adjoint functionality in 1.0, it's probably time to rethink how we backstore the data in SimpleWeightedGraphs. This will likely mean a substantial overhaul.

cc @simonschoelly

@simonschoelly
Copy link

What was actually the reason for transposing the adjacency matrix?

And is there a reason why this package works with a sparse adjacency matrix and not with a adjacency list like SimpleGraph?

@sbromberger
Copy link
Owner Author

sbromberger commented Aug 21, 2018

What was actually the reason for transposing the adjacency matrix?

Because SparseMatrixCSC is column-major, and adjacency matrices are typically row-major. Since most of the traversal operations focus on outgoing edges, it is important that the outneighbors are close together (adjacent) in memory.

And is there a reason why this package works with a sparse adjacency matrix and not with a adjacency list like SimpleGraph?

Yes. This has better cache performance for very large graphs.

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

No branches or pull requests

2 participants