Vai al contenuto principale

Benchmarks

L'overhead dell'applicazione delle policy è stato misurato con un benchmark in model_b_test.go. La configurazione del banco di prova è la seguente:

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

Di seguito sono riportati i risultati del benchmarking ottenuti eseguendo go test -bench=. -benchmem (op = una chiamata Enforce(), ms = millisecondi, KB = kilobytes):

Caso di testDimensione della regolaOverhead di tempo (ms/op)Sovraccarico di memoria (KB)
ACL2 regole (2 utenti)0,0154935,649
RBAC5 regole (2 utenti, 1 ruolo)0,0217387,522
RBAC (piccolo)1100 regole (1000 utenti, 100 ruoli)0,16430980,620
RBAC (medio)11000 regole (10000 utenti, 1000 ruoli)2,258262765,152
RBAC (grande)110000 regole (100000 utenti, 10000 ruoli)23,9167767.606
RBAC con ruoli di risorsa6 regole (2 utenti, 2 ruoli)0,0211467,906
RBAC con domini/tenant6 regole (2 utenti, 1 ruolo, 2 domini)0,03269610,755
ABAC0 regola (0 utente)0,0075102,328
RESTful5 regole (3 utenti)0,04539891,774
Deny-override6 regole (2 utenti, 1 ruolo)0,0232818.370
Priorità9 regole (2 utenti, 2 ruoli)0.0163895.313

Monitoraggio dei benchmark

Nella pagina web incorporata qui sotto, puoi vedere le modifiche delle prestazioni di Casbin per ogni commit.

Puoi anche accedervi direttamente al seguente indirizzo: https://v1.casbin.org/casbin/benchmark-monitoring