跳转到主要内容

基准测试

本页面报告不同 model 和规则规模下的执行开销(enforcement overhead)(每次 Enforce() 调用的时间和内存)。结果取决于硬件和语言,请将其作为粗略参考。

Go 基准测试:model_b_test.go。测试环境:

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

go test -bench=. -benchmem 的结果(op = 一次 Enforce() 调用,ms = 毫秒,KB = 千字节):

测试用例规则规模时间开销(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
带 domain/租户的 RBAC6 条规则(2 个用户、1 个角色、2 个 domain)0.03269610.755
ABAC0 条规则(0 个用户)0.0075102.328
RESTful5 条规则(3 个用户)0.04539891.774
Deny-override6 条规则(2 个用户、1 个角色)0.0232818.370
Priority9 条规则(2 个用户、2 个角色)0.0163895.313

基准测试监控​

下面的内嵌页面展示 Casbin 在各个提交上的性能表现。

直接访问:https://v1.casbin.org/casbin/benchmark-monitoring