주요 콘텐츠로 건너뛰기

Benchmarks

Policy enforcement overhead is benchmarked in model_b_test.go. Testing environment:

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

Results from go test -bench=. -benchmem (op = one Enforce() call, ms = millisecond, KB = kilobytes):

테스트 케이스규칙 크기시간 오버헤드 (ms/op)메모리 오버헤드 (KB)
ACL2개의 규칙 (2명의 사용자)0.0154935.649
RBAC5개의 규칙 (2명의 사용자, 1개의 역할)0.0217387.522
RBAC (소형)1100개의 규칙 (1000명의 사용자, 100개의 역할)0.16430980.620
RBAC (중형)11000개의 규칙 (10000명의 사용자, 1000개의 역할)2.258262765.152
RBAC (대형)110000개의 규칙 (100000명의 사용자, 10000개의 역할)23.9167767,606
리소스 역할이 있는 RBAC6개의 규칙 (2명의 사용자, 2개의 역할)0.0211467.906
도메인/테넌트를 가진 RBAC6개의 규칙 (2명의 사용자, 1개의 역할, 2개의 도메인)0.03269610.755
ABAC0개의 규칙 (0명의 사용자)0.0075102.328
RESTful5개의 규칙 (3명의 사용자)0.04539891.774
Deny-override6개의 규칙 (2명의 사용자, 1개의 역할)0.0232818.370
우선순위9개의 규칙 (2명의 사용자, 2개의 역할)0.0163895.313

벤치마크 모니터링

The embedded page below displays Casbin's performance across commits.

Direct access: https://v1.casbin.org/casbin/benchmark-monitoring