Benchmarks
- Go
- Python
- C++
- Lua (JIT)
Overhead penguatkuasaan polisi telah dijadikan penanda aras dalam model_b_test.go. Konfigurasi tempat ujian adalah seperti berikut:
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz, 2601 Mhz, 4 Core(s), 8 Logical Processor(s)
Berikut adalah hasil penanda aras yang diperoleh dengan menjalankan go test -bench=. -benchmem (op = panggilan Enforce(), ms = milisaat, KB = kilobyte):
| Kes ujian | Saiz peraturan | Overhead masa (ms/op) | Overhed memori (KB) |
|---|---|---|---|
| ACL | 2 peraturan (2 pengguna) | 0.015493 | 5.649 |
| RBAC | 5 peraturan (2 pengguna, 1 peranan) | 0.021738 | 7.522 |
| RBAC (kecil) | 1100 peraturan (1000 pengguna, 100 peranan) | 0.164309 | 80.620 |
| RBAC (sederhana) | 11000 peraturan (10000 pengguna, 1000 peranan) | 2.258262 | 765.152 |
| RBAC (besar) | 110000 peraturan (100000 pengguna, 10000 peranan) | 23.916776 | 7,606 |
| RBAC dengan peranan sumber | 6 peraturan (2 pengguna, 2 peranan) | 0.021146 | 7.906 |
| RBAC dengan domain/penyewa | 6 peraturan (2 pengguna, 1 peranan, 2 domain) | 0.032696 | 10.755 |
| ABAC | 0 peraturan (0 pengguna) | 0.007510 | 2.328 |
| RESTful | 5 peraturan (3 pengguna) | 0.045398 | 91.774 |
| Tolak-timpa | 6 peraturan (2 pengguna, 1 peranan) | 0.023281 | 8.370 |
| Keutamaan | 9 peraturan (2 pengguna, 2 peranan) | 0.016389 | 5.313 |
Overhed penguatkuasaan dasar dalam Pycasbin telah diuji prestasinya dalam direktori tests/benchmarks. Konfigurasi tempat ujian adalah seperti berikut:
Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz (Runned by Github actions)
platform linux -- Python 3.11.4, pytest-7.0.1, pluggy-1.2.0
Berikut adalah hasil penanda aras yang diperoleh dari melaksanakan casbin_benchmark (op = panggilan enforce(), ms = milisaat):
| Kes ujian | Saiz peraturan | Masa lebihan (ms/op) |
|---|---|---|
| ACL | 2 peraturan (2 pengguna) | 0.067691 |
| RBAC | 5 peraturan (2 pengguna, 1 peranan) | 0.080045 |
| RBAC (kecil) | 1100 peraturan (1000 pengguna, 100 peranan) | 0.853590 |
| RBAC (sederhana) | 11000 peraturan (10000 pengguna, 1000 peranan) | 6.986668 |
| RBAC (besar) | 110000 peraturan (100000 pengguna, 10000 peranan) | 77.922851 |
| RBAC dengan peranan sumber | 6 peraturan (2 pengguna, 2 peranan) | 0.106090 |
| RBAC dengan domain/penyewa | 6 peraturan (2 pengguna, 1 peranan, 2 domain) | 0.103628 |
| ABAC | 0 peraturan (0 pengguna) | 0.053213 |
| RESTful | 5 peraturan (3 pengguna) | NA |
| Tolak-timpa | 6 peraturan (2 pengguna, 1 peranan) | NA |
| Keutamaan | 9 peraturan (2 pengguna, 2 peranan) | 0.084684 |
Overhed penguatkuasaan dasar dalam Casbin CPP telah diuji prestasinya dalam direktori tests/benchmarks menggunakan alat ujian prestasi Google. Konfigurasi landasan ujian adalah seperti berikut:
Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz, 4 cores, 4 threads
Berikut adalah keputusan ujian prestasi yang diperoleh dari melaksanakan sasaran casbin_benchmark yang dibina dalam konfigurasi Release (op = panggilan enforce(), ms = milisaat):
| Kes ujian | Saiz peraturan | Overhed masa (ms/op) |
|---|---|---|
| ACL | 2 peraturan (2 pengguna) | 0.0195 |
| RBAC | 5 peraturan (2 pengguna, 1 peranan) | 0.0288 |
| RBAC (kecil) | 1100 peraturan (1000 pengguna, 100 peranan) | 0.300 |
| RBAC (sederhana) | 11000 peraturan (10000 pengguna, 1000 peranan) | 2.113 |
| RBAC (besar) | 110000 peraturan (100000 pengguna, 10000 peranan) | 21.450 |
| RBAC dengan peranan sumber | 6 peraturan (2 pengguna, 2 peranan) | 0.03 |
| RBAC dengan domain/penyewa | 6 peraturan (2 pengguna, 1 peranan, 2 domain) | 0.041 |
| ABAC | 0 peraturan (0 pengguna) | NA |
| RESTful | 5 peraturan (3 pengguna) | NA |
| Tolak-timpa | 6 peraturan (2 pengguna, 1 peranan) | 0.0246 |
| Keutamaan | 9 peraturan (2 pengguna, 2 peranan) | 0.035 |
Overhed penguatkuasaan dasar dalam Lua Casbin telah dibenchmark dalam bench.lua. Konfigurasi testbed adalah seperti berikut:
AMD Ryzen(TM) 5 4600H CPU @ 3.0GHz, 6 Cores, 12 Threads
Berikut adalah keputusan benchmarking yang diperoleh dengan menjalankan luajit bench.lua (op = panggilan enforce(), ms = milisaat):
| Kes ujian | Saiz peraturan | Overhed masa (ms/op) |
|---|---|---|
| ACL | 2 peraturan (2 pengguna) | 0.0533 |
| RBAC | 5 peraturan (2 pengguna, 1 peranan) | 0.0972 |
| RBAC (kecil) | 1100 peraturan (1000 pengguna, 100 peranan) | 0.8598 |
| RBAC (sederhana) | 11000 peraturan (10000 pengguna, 1000 peranan) | 8.6848 |
| RBAC (besar) | 110000 peraturan (100000 pengguna, 10000 peranan) | 90.3217 |
| RBAC dengan peranan sumber | 6 peraturan (2 pengguna, 2 peranan) | 0.1124 |
| RBAC dengan domain/penyewa | 6 peraturan (2 pengguna, 1 peranan, 2 domain) | 0.1978 |
| ABAC | 0 peraturan (0 pengguna) | 0.0305 |
| RESTful | 5 peraturan (3 pengguna) | 0.1085 |
| Tolak-timpa | 6 peraturan (2 pengguna, 1 peranan) | 0.1934 |
| Keutamaan | 9 peraturan (2 pengguna, 2 peranan) | 0.1437 |
Pemantauan penanda aras
Dalam halaman web terbenam di bawah, anda dapat melihat perubahan prestasi Casbin untuk setiap komitmen.
Anda juga boleh melayarinya secara langsung di: https://v1.casbin.org/casbin/benchmark-monitoring