I am trying to get benchmark for SyncedEnforcer and found that increasing threadPool size won't increase the qps for enforce because write lock is used when function syncedEnforcer.enforce() is called. However, in golang version, they use read lock instead. Does that mean the golang benchmark for SyncedEnforcer would be much higher than jcasbin? I'm curious why a write lock is needed in enforce phase since no policy is changed.
I am trying to get benchmark for SyncedEnforcer and found that increasing threadPool size won't increase the qps for enforce because write lock is used when function
syncedEnforcer.enforce()
is called. However, in golang version, they use read lock instead. Does that mean the golang benchmark for SyncedEnforcer would be much higher than jcasbin? I'm curious why a write lock is needed in enforce phase since no policy is changed.