Benchmarks
Накладные расходы по исполнению политики сравниваются с model_b_test.go. Испытание:
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz, 2601 Mhz, 4 Core(s), 8 Logical Processor(s)
бенчмаркинг результат идет тест -bench=. -бенчм
является следующим (op = an Enforce()
вызов, ms = millisecond, KB = килобайт):
Испытательный регистр | Размер правила | Перекрытие времени (мс/оп) | Memory overhead (KB) |
---|---|---|---|
ACL | 2 правила (2 пользователя) | 0.015493 | 5.649 |
RBAC | 5 правил (2 пользователя, 1 роль) | 0.021738 | 7.522 |
RBAC (маленький) | 1100 правил (1000 пользователей, 100 ролей) | 0.164309 | 80.620 |
RBAC (средний) | 11000 правил (10000 пользователей, 1000 ролей) | 2.258262 | 765.152 |
RBAC (большой) | Правила 110000 (100000 пользователей, 10000 ролей) | 23.916776 | 7,606 |
RBAC с ролями ресурсов | 6 правил (2 пользователя, 2 роли) | 0.021146 | 7.906 |
RBAC с доменами/арендаторами | 6 правил (2 пользователя, 1 роль, 2 домена) | 0.032696 | 10.755 |
АДАТ | 0 правил (0 пользователь) | 0.007510 | 2.328 |
Восстановленный | 5 правил (3 пользователя) | 0.045398 | 91.774 |
Запретить переопределение | 6 правил (2 пользователя, 1 роль) | 0.023281 | 8.370 |
Приоритет | 9 правил (2 пользователя, 2 роли) | 0.016389 | 5.313 |
Накладные расходы на выполнение CPP Casbin сравниваются с теста/контрольные показатели
с помощью инструмент бенчмаркинга Google. Испытание для этих контрольных показателей:
Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz, 4 cores, 4 threads
Here is the benchmarking result of executing casbin_benchmark
target built in Release
configuration (op = an enforce()
call, ms = millisecond):
Испытательный регистр | Размер правила | Time overhead (ms/op) |
---|---|---|
ACL | 2 правила (2 пользователя) | 0.0195 |
RBAC | 5 правил (2 пользователя, 1 роль) | 0.0288 |
RBAC (маленький) | 1100 правил (1000 пользователей, 100 ролей) | 0.300 |
RBAC (средний) | 11000 правил (10000 пользователей, 1000 ролей) | 2.113 |
RBAC (большой) | Правила 110000 (100000 пользователей, 10000 ролей) | 21.450 |
RBAC с ролями ресурсов | 6 правил (2 пользователя, 2 роли) | 0.03 |
RBAC с доменами/арендаторами | 6 правил (2 пользователя, 1 роль, 2 домена) | 0.041 |
АДАТ | 0 правил (0 пользователь) | NA |
Восстановленный | 5 правил (3 пользователя) | NA |
Запретить переопределение | 6 правил (2 пользователя, 1 роль) | 0.0246 |
Приоритет | 9 правил (2 пользователя, 2 роли) | 0.035 |
Lua Casbin's накладные расходы по обеспечению соблюдения политики сравниваются с bench.lua. The testbed was a Ubuntu VM with the CPU:
AMD Ryzen(TM) 5 4600H CPU @ 3.0GHz, 6 Cores, 12 потоков
Результаты бенчмаркинга luajit bench.lua
следуют следующим образом (op = enforce()
вызов, ms = millisecond):
Испытательный регистр | Размер правила | Перекрытие времени (мс/оп) |
---|---|---|
ACL | 2 правила (2 пользователя) | 0.0533 |
RBAC | 5 правил (2 пользователя, 1 роль) | 0.0972 |
RBAC (маленький) | 1100 правил (1000 пользователей, 100 ролей) | 0.8598 |
RBAC (средний) | 11000 правил (10000 пользователей, 1000 ролей) | 8.6848 |
RBAC (большой) | Правила 110000 (100000 пользователей, 10000 ролей) | 90.3217 |
RBAC с ролями ресурсов | 6 правил (2 пользователя, 2 роли) | 0.1124 |
RBAC с доменами/арендаторами | 6 правил (2 пользователя, 1 роль, 2 домена) | 0.1978 |
АДАТ | 0 правил (0 пользователь) | 0.0305 |
Восстановленный | 5 правил (3 пользователя) | 0.1085 |
Запретить переопределение | 6 правил (2 пользователя, 1 роль) | 0.1934 |
Приоритет | 9 правил (2 пользователя, 2 роли) | 0.1437 |