Passer au contenu principal

Benchmarks

The overhead of policy enforcement has been benchmarked in model_b_test.go. The testbed configuration is as follows:

Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz, 2601 Mhz, 4 Core(s), 8 Processeur(s) logique(s)

Following are the benchmarking results obtained by running go test -bench=. -benchmem (op = an Enforce() call, ms = millisecond, KB = kilobytes):

Cas de testTaille de la règleTemps au dessus (ms/op)Memory overhead (KB)
ACL2 règles (2 utilisateurs)0.0154935.649
RBAC5 règles (2 utilisateurs, 1 rôle)0.0217387.522
RBAC (petit)1100 règles (1000 utilisateurs, 100 rôles)0.16430980.620
RBAC (moyen)11000 règles (10000 utilisateurs, 1000 rôles)2.258262765.152
RBAC (grand)110000 règles (100000 utilisateurs, 10000 rôles)23.9167767,606
RBAC avec les rôles de ressource6 règles (2 utilisateurs, 2 rôles)0.0211467.906
RBAC avec domaines/locataires6 règles (2 utilisateurs, 1 rôle, 2 domaines)0.03269610.755
ABAC0 règle (0 utilisateur)0.0075102.328
RESTANT5 règles (3 utilisateurs)0.04539891.774
Refuser la substitution6 règles (2 utilisateurs, 1 rôle)0.0232818.370
Priorité9 règles (2 utilisateurs, 2 rôles)0.0163895.313

Benchmark monitoring

In the embedded web page below, you can see the performance changes of Casbin for each commit.

You can also directly browse it at: https://v1.casbin.org/casbin/benchmark-monitoring