Pular para o conteúdo principal

Benchmarks

A sobrecarga da aplicação de políticas foi avaliada em model_b_test.go. A configuração do ambiente de teste é a seguinte:

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

Segue os resultados do benchmark obtidos ao executar go test -bench=. -benchmem (op = uma chamada Enforce(), ms = milissegundo, KB = kilobytes):

Caso de testeTamanho da regraSobrecarga de tempo (ms/op)Sobrecarga de memória (KB)
ACL2 regras (2 usuários)0.0154935.649
RBAC5 regras (2 usuários, 1 papel)0.0217387.522
RBAC (pequeno)1100 regras (1000 usuários, 100 papéis)0.16430980.620
RBAC (médio)11000 regras (10000 usuários, 1000 papéis)2.258262765.152
RBAC (grande)110000 regras (100000 usuários, 10000 papéis)23.9167767,606
RBAC com papéis de recurso6 regras (2 usuários, 2 papéis)0.0211467.906
RBAC com domínios/inquilinos6 regras (2 usuários, 1 papel, 2 domínios)0.03269610.755
ABAC0 regra (0 usuário)0.0075102.328
RESTful5 regras (3 usuários)0.04539891.774
Deny-override6 regras (2 usuários, 1 papel)0.0232818.370
Prioridade9 regras (2 usuários, 2 papéis)0.0163895.313

Monitoramento de benchmark

No página web embutida abaixo, você pode ver as mudanças de desempenho do Casbin para cada commit.

Você também pode navegar diretamente em: https://v1.casbin.org/casbin/benchmark-monitoring