Benchmarks
- Lua (JIT)
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) |
|---|---|---|---|
| ACL | 2条规则(2个用户) | 0.015493 | 5.649 |
| RBAC | 5条规则(2个用户,1个角色) | 0.021738 | 7.522 |
| RBAC(小) | 1100条规则(1000个用户,100个角色) | 0.164309 | 80.620 |
| RBAC(中) | 11000条规则(10000个用户,1000个角色) | 2.258262 | 765.152 |
| RBAC(大) | 110000条规则(100000个用户,10000个角色) | 23.916776 | 7,606 |
| 带资源角色的RBAC | 6条规则(2个用户,2个角色) | 0.021146 | 7.906 |
| 带有域/租户的RBAC | 6条规则(2个用户,1个角 色,2个域) | 0.032696 | 10.755 |
| ABAC | 0条规则(0个用户) | 0.007510 | 2.328 |
| RESTful | 5条规则(3个用户) | 0.045398 | 91.774 |
| 否决覆盖 | 6条规则(2个用户,1个角色) | 0.023281 | 8.370 |
| 优先级 | 9条规则(2个用户,2个角色) | 0.016389 | 5.313 |
Policy enforcement overhead in Pycasbin is benchmarked in tests/benchmarks. Testing environment:
Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz (Run by Github actions)
platform linux -- Python 3.11.4, pytest-7.0.1, pluggy-1.2.0
Results from executing casbin_benchmark (op = one enforce() call, ms = millisecond):
| 测试用例 | 规则大小 | 时间开销 (ms/op) |
|---|---|---|
| ACL | 2条规则(2个用户) | 0.067691 |
| RBAC | 5条规则(2个用户,1个角色) | 0.080045 |
| RBAC(小) | 1100条规则(1000个用户,100角色) | 0.853590 |
| RBAC(中) | 11000条规则(10000个用户,1000个角色) | 6.986668 |
| RBAC(大) | 110000条规则(100000个用户,10000个角色) | 77.922851 |
| 带有资源角色的RBAC | 6条规则(2个用户,2个角色) | 0.106090 |
| 带有域/租户的RBAC | 6条规则(2个用户,1个角色,2个域) | 0.103628 |
| ABAC | 0条规则(0个用户) | 0.053213 |
| RESTful | 5条规则(3个用户) | NA |
| 否决覆盖 | 6条规则(2个用户,1个角色) | NA |
| 优先级 | 9条规则(2个用户,2个角色) | 0.084684 |
Policy enforcement overhead in Casbin CPP is benchmarked in tests/benchmarks using Google's benchmarking tool. Testing environment:
Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz, 4 cores, 4 threads
Results from executing the casbin_benchmark target built in Release configuration (op = one enforce() call, ms = millisecond):
| 测试用例 | 规则大小 |
|---|