Skip to content
This repository has been archived by the owner on Nov 22, 2023. It is now read-only.

Latest commit

 

History

History
13 lines (10 loc) · 1.12 KB

readme.md

File metadata and controls

13 lines (10 loc) · 1.12 KB

arena-graph: fast, arena-allocated graphs

A library for constructing fast, pointer-based graphs in Rust. A lil hacky, and my understanding of variance is dubious at best, so consult your local lifetime specialist before using. Useful if your graph has the following properties:

  • the node lookup overhead of a slotmap-style graph is too slow for your the problem you're trying to solve
  • nodes in your graph all have the same type
  • you only need & access to nodes once they've been added, and can use mutexes or cells to handle mutation
  • your graph doesn't need to delete individual nodes, only an entire graph of nodes all at once (although having a Cell<bool> that indicates deleted status is fine, as is creating a linked list of deleted nodes for recycling)
  • your Node's Drop implementation doesn't need to access other nodes

Still need to write documentation, but you can check out anchors if you're interested in seeing this in action.