Skip to content

Commit bdf68c0

Browse files
Copilotnomeguy
andcommitted
Improve benchmark implementation based on code review feedback
Co-authored-by: nomeguy <85475922+nomeguy@users.noreply.github.com>
1 parent e54a6ae commit bdf68c0

File tree

3 files changed

+33
-28
lines changed

3 files changed

+33
-28
lines changed

src/test/java/org/casbin/jcasbin/main/benchmark/BenchmarkUtil.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
*/
2121
public class BenchmarkUtil {
2222

23+
/** Default number of warmup iterations */
24+
private static final int DEFAULT_WARMUP_ITERATIONS = 3;
25+
26+
/** Default number of measurement iterations */
27+
private static final int DEFAULT_MEASUREMENT_ITERATIONS = 5;
28+
2329
/**
2430
* Functional interface for benchmark operations.
2531
*/
@@ -67,6 +73,6 @@ public static void runBenchmark(String name, int warmupIterations, int measureme
6773
* @param operation The operation to benchmark
6874
*/
6975
public static void runBenchmark(String name, BenchmarkOperation operation) {
70-
runBenchmark(name, 3, 5, operation);
76+
runBenchmark(name, DEFAULT_WARMUP_ITERATIONS, DEFAULT_MEASUREMENT_ITERATIONS, operation);
7177
}
7278
}

src/test/java/org/casbin/jcasbin/main/benchmark/CachedEnforcerBenchmarkTest.java

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -207,30 +207,30 @@ public void benchmarkCachedPriorityModel() {
207207

208208
@Test
209209
public void benchmarkCachedRBACModelMediumParallel() {
210-
CachedEnforcer e = new CachedEnforcer("examples/rbac_model.conf", "");
211-
212-
// 10000 roles, 1000 resources.
213-
List<List<String>> pPolicies = new ArrayList<>();
214-
for (int i = 0; i < 10000; i++) {
215-
List<String> policy = new ArrayList<>();
216-
policy.add(String.format("group%d", i));
217-
policy.add(String.format("data%d", i / 10));
218-
policy.add("read");
219-
pPolicies.add(policy);
220-
}
221-
e.addPolicies(pPolicies);
222-
223-
// 100000 users.
224-
List<List<String>> gPolicies = new ArrayList<>();
225-
for (int i = 0; i < 100000; i++) {
226-
List<String> policy = new ArrayList<>();
227-
policy.add(String.format("user%d", i));
228-
policy.add(String.format("group%d", i / 10));
229-
gPolicies.add(policy);
230-
}
231-
e.addGroupingPolicies(gPolicies);
232-
233210
BenchmarkUtil.runBenchmark("Cached RBAC Model Medium Parallel", () -> {
211+
CachedEnforcer e = new CachedEnforcer("examples/rbac_model.conf", "");
212+
213+
// 10000 roles, 1000 resources.
214+
List<List<String>> pPolicies = new ArrayList<>();
215+
for (int i = 0; i < 10000; i++) {
216+
List<String> policy = new ArrayList<>();
217+
policy.add(String.format("group%d", i));
218+
policy.add(String.format("data%d", i / 10));
219+
policy.add("read");
220+
pPolicies.add(policy);
221+
}
222+
e.addPolicies(pPolicies);
223+
224+
// 100000 users.
225+
List<List<String>> gPolicies = new ArrayList<>();
226+
for (int i = 0; i < 100000; i++) {
227+
List<String> policy = new ArrayList<>();
228+
policy.add(String.format("user%d", i));
229+
policy.add(String.format("group%d", i / 10));
230+
gPolicies.add(policy);
231+
}
232+
e.addGroupingPolicies(gPolicies);
233+
234234
e.enforce("user5001", "data150", "read");
235235
});
236236
}

src/test/java/org/casbin/jcasbin/main/benchmark/RoleManagerBenchmarkTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,11 +193,10 @@ public void benchmarkHasLinkWithPatternAndDomainPatternLarge() {
193193

194194
@Test
195195
public void benchmarkConcurrentHasLinkWithMatching() {
196-
Enforcer e = new Enforcer("examples/rbac_with_pattern_model.conf", "examples/rbac_with_pattern_policy.csv");
197-
e.addNamedMatchingFunc("g2", "keyMatch2", BuiltInFunctions::keyMatch2);
198-
RoleManager rm = e.getRoleManager();
199-
200196
BenchmarkUtil.runBenchmark("Concurrent HasLink With Matching", () -> {
197+
Enforcer e = new Enforcer("examples/rbac_with_pattern_model.conf", "examples/rbac_with_pattern_policy.csv");
198+
e.addNamedMatchingFunc("g2", "keyMatch2", BuiltInFunctions::keyMatch2);
199+
RoleManager rm = e.getRoleManager();
201200
rm.hasLink("alice", "/book/123");
202201
});
203202
}

0 commit comments

Comments
 (0)