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

Consider tree libraries for heavy graph traversal algorithms #2

Open
clbarnes opened this issue Jan 16, 2024 · 1 comment
Open

Consider tree libraries for heavy graph traversal algorithms #2

clbarnes opened this issue Jan 16, 2024 · 1 comment

Comments

@clbarnes
Copy link

I am onto my 3rd attempt at prototype libraries for connectomics-y graph things.

  1. https://github.com/clbarnes/arbor-rs was a pretty direct port of some of CATMAID's Arbor.js, but it's not very rust-y
  2. https://github.com/clbarnes/neurarbor is built around a 3rd party tree library, but it turns out it wasn't a very good fit for the neuron surgery element because of the arena ownership required
  3. https://github.com/clbarnes/rhodo is my current attempt; it has some advantages over the other two, including actually using iterators properly

3rd party graph libraries mainly use Vec arenas, which is fast but not great for surgery and involves a lot of mapping back and forth between external-facing node indices and internal node indices. Rhodo uses a hashmap with a very fast hash function, which could potentially be made faster still for a limited set of node types.

Happy to accept feature priorities for rhodo!

@schlegelp
Copy link
Owner

Will have a look, thanks!

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

2 participants