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):
| Trường hợp kiểm thử | Kích thước quy tắc | Chi phí thời gian (ms/op) | Chi phí bộ nhớ (KB) |
|---|---|---|---|
| ACL | 2 quy tắc (2 người dùng) | 0.015493 | 5.649 |
| RBAC | 5 quy tắc (2 người dùng, 1 vai trò) | 0.021738 | 7.522 |
| RBAC (nhỏ) | 1100 quy tắc (1000 người dùng, 100 vai trò) | 0,164309 | 80,620 |
| RBAC (trung bình) | 11000 quy tắc (10000 người dùng, 1000 vai trò) | 2,258262 | 765,152 |
| RBAC (lớn) | 110000 quy tắc (100000 người dùng, 10000 vai trò) | 23,916776 | 7.606 |
| RBAC với vai trò tài nguyên | 6 quy tắc (2 người dùng, 2 vai trò) | 0,021146 | 7,906 |
| RBAC với miền/người thuê | 6 quy tắc (2 người dùng, 1 vai trò, 2 miền) | 0,032696 | 10,755 |
| ABAC | Quy tắc 0 (0 người dùng) | 0,007510 | 2,328 |
| RESTful | 5 quy tắc (3 người dùng) | 0,045398 | 91,774 |
| Từ chối-ghi đè | 6 quy tắc (2 người dùng, 1 vai trò) | 0,023281 | 8.370 |
| Ưu tiên | 9 quy tắc (2 người dùng, 2 vai trò) | 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):
| Trường hợp kiểm thử | Kích thước quy tắc | Độ trễ thời gian (ms/op) |
|---|---|---|
| ACL | 2 quy tắc (2 người dùng) | 0.067691 |
| RBAC | 5 quy tắc (2 người dùng, 1 vai trò) | 0.080045 |
| RBAC (nhỏ) | 1100 quy tắc (1000 người dùng, 100 vai trò) | 0.853590 |
| RBAC (trung bình) | 11000 quy tắc (10000 người dùng, 1000 vai trò) | 6,986668 |
| RBAC (lớn) | 110000 quy tắc (100000 người dùng, 10000 vai trò) | 77,922851 |
| RBAC với vai trò tài nguyên | 6 quy tắc (2 người dùng, 2 vai trò) | 0,106090 |
| RBAC với miền/đối tác | 6 quy tắc (2 người dùng, 1 vai trò, 2 miền) | 0.103628 |
| ABAC | 0 quy tắc (0 người dùng) | 0.053213 |
| RESTful | 5 quy tắc (3 người dùng) | NA |
| Từ chối-thay thế | 6 quy tắc (2 người dùng, 1 vai trò) | NA |
| Ưu tiên | 9 quy tắc (2 người dùng, 2 vai trò) | 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):
| Trường hợp kiểm thử | Kích thước quy tắc | Chi phí thời gian (ms/op) |
|---|---|---|
| ACL | 2 quy tắc (2 người dùng) | 0.0195 |
| RBAC | 5 quy tắc (2 người dùng, 1 vai trò) | 0.0288 |
| RBAC (nhỏ) | 1100 quy tắc (1000 người dùng, 100 vai trò) | 0.300 |
| RBAC (vừa) | 11000 quy tắc (10000 người dùng, 1000 vai trò) | 2.113 |
| RBAC (lớn) | 110000 quy tắc (100000 người dùng, 10000 vai trò) | 21.450 |
| RBAC với vai trò tài nguyên | 6 quy tắc (2 người dùng, 2 vai trò) | 0.03 |
| RBAC với miền/đối tượng thuê | 6 quy tắc (2 người dùng, 1 vai trò, 2 miền) | 0.041 |
| ABAC | Quy tắc 0 (0 người dùng) | NA |
| RESTful | 5 quy tắc (3 người dùng) | NA |
| Deny-override | 6 quy tắc (2 người dùng, 1 vai trò) | 0.0246 |
| Ưu tiên | 9 quy tắc (2 người dùng, 2 vai trò) | 0,035 |
Policy enforcement overhead in Lua Casbin is benchmarked in bench.lua. Testing environment:
AMD Ryzen(TM) 5 4600H CPU @ 3.0GHz, 6 Cores, 12 Threads
Results from running luajit bench.lua (op = one enforce() call, ms = millisecond):
| Trường hợp kiểm thử | Kích thước quy tắc | Chi phí thời gian (ms/op) |
|---|---|---|
| ACL | 2 quy tắc (2 người dùng) | 0.0533 |
| RBAC | 5 quy tắc (2 người dùng, 1 vai trò) | 0.0972 |
| RBAC (nhỏ) | 1100 quy tắc (1000 người dùng, 100 vai trò) | 0.8598 |
| RBAC (vừa) | 11000 quy tắc (10000 người dùng, 1000 vai trò) | 8,6848 |
| RBAC (lớn) | 110.000 quy tắc (100.000 người dùng, 10.000 vai trò) | 90,3217 |
| RBAC với vai trò tài nguyên | 6 quy tắc (2 người dùng, 2 vai trò) | 0,1124 |
| RBAC với miền/đối tác | 6 quy tắc (2 người dùng, 1 vai trò, 2 miền) | 0,1978 |
| ABAC | Quy tắc 0 (0 người dùng) | 0,0305 |
| RESTful | 5 quy tắc (3 người dùng) | 0,1085 |
| Từ chối-ghi đè | 6 quy tắc (2 người dùng, 1 vai trò) | 0,1934 |
| Ưu tiên | 9 quy tắc (2 người dùng, 2 vai trò) | 0,1437 |
Giám sát điểm chuẩn
The embedded page below displays Casbin's performance across commits.
Direct access: https://v1.casbin.org/casbin/benchmark-monitoring