跳转至主要内容

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
否决覆盖6条规则(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