Zum Hauptinhalt springen

Benchmarks

Der Overhead der Richtliniendurchsetzung wurde in model_b_test.go benchmarked. Die Testbed-Konfiguration ist wie folgt:

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

Folgend sind die Benchmarking-Ergebnisse, die durch das Ausführen von go test -bench=. erzielt wurden -benchmem (op = ein Enforce() Aufruf, ms = Millisekunde, KB = Kilobyte):

TestfallRegelgrößeZeit-Overhead (ms/op)Speicher-Overhead (KB)
ACL2 Regeln (2 Benutzer)0.0154935.649
RBAC5 Regeln (2 Benutzer, 1 Rolle)0.0217387.522
RBAC (klein)1100 Regeln (1000 Benutzer, 100 Rollen)0.16430980.620
RBAC (mittel)11000 Regeln (10000 Benutzer, 1000 Rollen)2.258262765.152
RBAC (groß)110000 Regeln (100000 Benutzer, 10000 Rollen)23.9167767,606
RBAC mit Ressourcenrollen6 Regeln (2 Benutzer, 2 Rollen)0.0211467.906
RBAC mit Domänen/Mandanten6 Regeln (2 Benutzer, 1 Rolle, 2 Domänen)0.03269610.755
ABAC0 Regel (0 Benutzer)0.0075102.328
RESTful5 Regeln (3 Benutzer)0.04539891.774
Deny-override6 Regeln (2 Benutzer, 1 Rolle)0.0232818.370
Priorität9 Regeln (2 Benutzer, 2 Rollen)0.0163895.313

Benchmark-Überwachung

In der unten eingebetteten Webseite können Sie die Leistungsänderungen von Casbin für jeden Commit sehen.

Sie können es auch direkt unter folgender Adresse aufrufen: https://v1.casbin.org/casbin/benchmark-monitoring