package
0.0.0-20200126033054-1643d905b0e4
Repository: https://github.com/oracle/speedle.git
Documentation: pkg.go.dev

# README

Bachmarks

How to run benchmark

go test -bench .

Report

The overhead of the policy enforcement is benchmarked by eval_b_test.go. And the report was generated by running the benchmark cases on the testbed:

2 * Intel(R) Xeon(R) Platinum 8167M CPU @ 2.00GHz 2 Cores, 4 Threads

This tables shows the report for API IsAllowed. op means one call of IsAllowed.

CaseSizeTime overhead (μs/op)
One1 policy, 1 role policy, 1 user6.6
Tiny10 policies, 10 role policies, 10 users/role7.3
Small100 policies, 100 role policies, 10 users/role8.5
Medium1K policies, 1K role policies, 10 users/role8.6
Large10K policies, 10K role policies, 10 users/role8.7
Huge100K policies, 100K role policies, 10 users/role8.7
LargeExp10K policies with resource expression, 10K role policies, 10 users/role43.0
LargeCond10K policies with condition, 10K role policies, 10 users/role8.0

And below table shows the report for API GetAllGrantedPermissions. op means one call of GetAllGrantedPermissions.

CaseSizeTime overhead (μs/op)
LargePerm10K policies, 10K role policies, 10 users/role8.9