跳转至主要内容

Benchmarks

本页报告不同模型和规则数量下的 判定开销(每次 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
带有域/租户的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

基准监控​

下面嵌入的页面展示了 Casbin 在各次提交中的性能。

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