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

fast and dangerous arena-allocated graphs

License

Notifications You must be signed in to change notification settings

lord/arena-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

fast and dangerous arena-allocated graphs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages