This is an automated email from the ASF dual-hosted git repository.
tkobayas pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-benchmarks.git
The following commit(s) were added to refs/heads/main by this push:
new 207ee80e [incubator-kie-benchmarks-297] Enable exec-model benchmark
for KBaseCreationFromDrlBenchmark and BuildDRLWithoutKieBaseBenchmark (#298)
207ee80e is described below
commit 207ee80e3f8408837447901dc089a00f2c787406
Author: Toshiya Kobayashi <[email protected]>
AuthorDate: Mon May 25 09:45:38 2026 +0900
[incubator-kie-benchmarks-297] Enable exec-model benchmark for
KBaseCreationFromDrlBenchmark and BuildDRLWithoutKieBaseBenchmark (#298)
---
.../buildtime/AbstractBuildtimeBenchmark.java | 25 +++++++++++++++++-----
.../buildtime/BuildDRLWithoutKieBaseBenchmark.java | 5 ++++-
.../buildtime/KBaseCreationFromDrlBenchmark.java | 5 ++++-
.../kbase-creation/drl-kbase-creation-10k.drl | 3 ++-
.../kbase-creation/drl-kbase-creation-1k.drl | 3 ++-
.../kbase-creation/drl-kbase-creation-5k.drl | 3 ++-
.../main/resources/kbase-creation/drl-template.drl | 3 ++-
7 files changed, 36 insertions(+), 11 deletions(-)
diff --git
a/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/AbstractBuildtimeBenchmark.java
b/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/AbstractBuildtimeBenchmark.java
index 993682c2..059fdb7c 100644
---
a/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/AbstractBuildtimeBenchmark.java
+++
b/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/AbstractBuildtimeBenchmark.java
@@ -22,6 +22,9 @@ package org.drools.benchmarks.turtle.buildtime;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.TimeUnit;
+
+import org.drools.compiler.kie.builder.impl.DrlProject;
+import org.drools.model.codegen.ExecutableModelProject;
import org.kie.api.KieBase;
import org.kie.api.KieServices;
import org.kie.api.builder.KieFileSystem;
@@ -69,21 +72,33 @@ public abstract class AbstractBuildtimeBenchmark {
*
* @return number of packages in the kbase
*/
- protected int actuallyCreateTheKBase() {
+ protected int actuallyCreateTheKBase(boolean useCanonicalModel) {
KieHelper kieHelper = new KieHelper();
for (Resource resource : resources) {
kieHelper.addResource(resource);
}
- KieBase kieBase = kieHelper.build();
+ KieBase kieBase;
+ if (useCanonicalModel) {
+ kieBase = kieHelper.build(ExecutableModelProject.class);
+ } else {
+ kieBase = kieHelper.build(DrlProject.class);
+ }
int nrOfPackages = kieBase.getKiePackages().size();
return nrOfPackages;
}
+ protected int actuallyCreateTheKBase() {
+ return actuallyCreateTheKBase(false);
+ }
+
/**
* Builds resources without creating the KieBase.
*/
- protected void buildResourcesWithoutKieBase(final Blackhole eater) {
-
eater.consume(KieServices.get().newKieBuilder(kieFileSystem).buildAll());
+ protected void buildResourcesWithoutKieBase(final Blackhole eater, boolean
useCanonicalModel) {
+ if (useCanonicalModel) {
+
eater.consume(KieServices.get().newKieBuilder(kieFileSystem).buildAll(ExecutableModelProject.class));
+ } else {
+
eater.consume(KieServices.get().newKieBuilder(kieFileSystem).buildAll(DrlProject.class));
+ }
}
-
}
diff --git
a/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/BuildDRLWithoutKieBaseBenchmark.java
b/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/BuildDRLWithoutKieBaseBenchmark.java
index f635d564..d3c2eaa8 100644
---
a/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/BuildDRLWithoutKieBaseBenchmark.java
+++
b/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/BuildDRLWithoutKieBaseBenchmark.java
@@ -29,6 +29,9 @@ import org.openjdk.jmh.infra.Blackhole;
*/
public class BuildDRLWithoutKieBaseBenchmark extends
AbstractBuildtimeBenchmark {
+ @Param({"true", "false"})
+ private boolean useCanonicalModel;
+
@Param({"5k", "10k"})
private String nrOfRules;
@@ -40,7 +43,7 @@ public class BuildDRLWithoutKieBaseBenchmark extends
AbstractBuildtimeBenchmark
@Benchmark
public void timeKBaseCreationFromDrl(final Blackhole eater) {
- buildResourcesWithoutKieBase(eater);
+ buildResourcesWithoutKieBase(eater, useCanonicalModel);
}
}
diff --git
a/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/KBaseCreationFromDrlBenchmark.java
b/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/KBaseCreationFromDrlBenchmark.java
index fc2ec0e7..229d9f67 100644
---
a/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/KBaseCreationFromDrlBenchmark.java
+++
b/drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/buildtime/KBaseCreationFromDrlBenchmark.java
@@ -30,6 +30,9 @@ import org.openjdk.jmh.annotations.Setup;
*/
public class KBaseCreationFromDrlBenchmark extends AbstractBuildtimeBenchmark {
+ @Param({"true", "false"})
+ private boolean useCanonicalModel;
+
@Param({"1k", "5k", "10k"})
private String nrOfRules;
@@ -40,7 +43,7 @@ public class KBaseCreationFromDrlBenchmark extends
AbstractBuildtimeBenchmark {
@Benchmark
public int timeKBaseCreationFromDrl() {
- return actuallyCreateTheKBase();
+ return actuallyCreateTheKBase(useCanonicalModel);
}
}
diff --git
a/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-10k.drl
b/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-10k.drl
index d0828c48..9fb3a4d7 100644
---
a/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-10k.drl
+++
b/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-10k.drl
@@ -1,6 +1,7 @@
package org.drools.benchmarks.bre;
import java.util.Date;
+import java.util.ArrayList;
import org.drools.benchmarks.common.model.Account;
import org.drools.benchmarks.common.model.Address;
@@ -9,7 +10,7 @@ import
org.drools.benchmarks.common.model.event.NewCustomerEvent;
import org.drools.benchmarks.common.model.Transaction;
import org.drools.benchmarks.common.model.event.TransactionCreatedEvent;
-global java.util.ArrayList list;
+global ArrayList list;
rule "accountBalance0"
diff --git
a/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-1k.drl
b/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-1k.drl
index ab7700a4..f5a3e784 100644
---
a/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-1k.drl
+++
b/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-1k.drl
@@ -1,6 +1,7 @@
package org.drools.benchmarks.bre;
import java.util.Date;
+import java.util.ArrayList;
import org.drools.benchmarks.common.model.Account;
import org.drools.benchmarks.common.model.Address;
@@ -9,7 +10,7 @@ import
org.drools.benchmarks.common.model.event.NewCustomerEvent;
import org.drools.benchmarks.common.model.Transaction;
import org.drools.benchmarks.common.model.event.TransactionCreatedEvent;
-global java.util.ArrayList list;
+global ArrayList list;
rule "accountBalance0"
diff --git
a/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-5k.drl
b/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-5k.drl
index 1f8d32c1..59143089 100644
---
a/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-5k.drl
+++
b/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-kbase-creation-5k.drl
@@ -1,6 +1,7 @@
package org.drools.benchmarks.bre;
import java.util.Date;
+import java.util.ArrayList;
import org.drools.benchmarks.common.model.Account;
import org.drools.benchmarks.common.model.Address;
@@ -9,7 +10,7 @@ import
org.drools.benchmarks.common.model.event.NewCustomerEvent;
import org.drools.benchmarks.common.model.Transaction;
import org.drools.benchmarks.common.model.event.TransactionCreatedEvent;
-global java.util.ArrayList list;
+global ArrayList list;
rule "accountBalance0"
diff --git
a/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-template.drl
b/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-template.drl
index 53d88eaf..79c35015 100644
---
a/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-template.drl
+++
b/drools-benchmarks-parent/drools-benchmarks/src/main/resources/kbase-creation/drl-template.drl
@@ -1,6 +1,7 @@
package org.drools.benchmarks.bre;
import java.util.Date;
+import java.util.ArrayList;
import org.drools.benchmarks.common.model.Account;
import org.drools.benchmarks.common.model.Address;
@@ -9,7 +10,7 @@ import
org.drools.benchmarks.common.model.event.NewCustomerEvent;
import org.drools.benchmarks.common.model.Transaction;
import org.drools.benchmarks.common.model.event.TransactionCreatedEvent;
-global java.util.ArrayList list;
+global ArrayList list;
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
rule "accountBalance@RULE_NUMBER"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]