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

Use petgraph inside DefaultRoleManager to model relations #293

Merged
merged 2 commits into from
Jun 16, 2022

Commits on May 12, 2022

  1. Use petgraph inside DefaultRoleManager to model relations

    This relation model is built after the Go implementation, but uses
    edges inside the graph to model relations instead of having each
    role store pointers in maps.
    
    Edges with the `EdgeVariant::Link` are relations which in Go are modeled by the
    `roles` and `users` map.
    Edges with the `EdgeVariant::Match` are relations which is Go are modeled by the
    `matched` and `matchedBy` map.
    
    This change brings significant speedups in benchmarks when compared against the master branch.
    
    Co-authored-by: valkum <r.floren@heinlein-video.de>
    kbalt and valkum committed May 12, 2022
    Configuration menu
    Copy the full SHA
    91e9663 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c111b47 View commit details
    Browse the repository at this point in the history