[jboss-svn-commits] JBL Code SVN: r14558 - in labs/jbossrules/trunk/drools-compiler/src/test: resources/org/drools/rule/builder/dialect and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Aug 25 18:43:39 EDT 2007


Author: ahtik
Date: 2007-08-25 18:43:39 -0400 (Sat, 25 Aug 2007)
New Revision: 14558

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/JavaAndMVELCombinedTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/javaonly.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/mveljavarules.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/mvelonly.drl
Log:
test demonstrating slowdown caused by combining java and mvel into one drl

Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/JavaAndMVELCombinedTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/JavaAndMVELCombinedTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/JavaAndMVELCombinedTest.java	2007-08-25 22:43:39 UTC (rev 14558)
@@ -0,0 +1,70 @@
+package org.drools.rule.builder.dialect;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.compiler.PackageBuilder;
+import org.drools.rule.Package;
+
+public class JavaAndMVELCombinedTest extends TestCase {
+
+    private final static String FN1 = "mveljavarules.drl";
+    private final static String FN2 = "mvelonly.drl";
+    private final static String FN3 = "javaonly.drl";
+
+    public void testJavaMVELCombination() throws Exception {
+        long time1 = timing( new Runnable() {
+            public void run() {
+                readDRL( FN1 );
+            }
+        } );
+        long time2 = timing( new Runnable() {
+            public void run() {
+                readDRL( FN2 );
+            }
+        } );
+        long time3 = timing( new Runnable() {
+            public void run() {
+                readDRL( FN3 );
+            }
+        } );
+        
+        System.out.println("mveljava: "+time1/1000.);
+        System.out.println("    mvel: "+time2/1000.);
+        System.out.println("    java: "+time3/1000.);
+        
+    }
+
+    private long timing(Runnable runnable) {
+        long start = System.currentTimeMillis();
+        runnable.run();
+        return System.currentTimeMillis()-start;
+    }
+
+    private void readDRL(String fn) {
+        try {
+            Reader source = new InputStreamReader( JavaAndMVELCombinedTest.class.getResourceAsStream( fn ) );
+
+            PackageBuilder builder = new PackageBuilder();
+            builder.addPackageFromDrl( source );
+            Assert.assertEquals( 0,
+                                 builder.getErrors().getErrors().length );
+
+            Package pkg = builder.getPackage();
+            RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+            ruleBase.addPackage( pkg );
+
+            Assert.assertEquals( 2,
+                                 pkg.getRules().length );
+        } catch ( Throwable t ) {
+            throw new RuntimeException(t);
+        }
+
+    }
+
+}

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/javaonly.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/javaonly.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/javaonly.drl	2007-08-25 22:43:39 UTC (rev 14558)
@@ -0,0 +1,15 @@
+package org.drools;
+
+rule "Hello World"
+	dialect "java"
+	when
+	then
+		System.out.println( "java" ); 
+end
+
+rule "GoodBye"
+	dialect "java"
+	when
+	then 
+		System.out.println( "java" );
+end

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/mveljavarules.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/mveljavarules.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/mveljavarules.drl	2007-08-25 22:43:39 UTC (rev 14558)
@@ -0,0 +1,15 @@
+package org.drools;
+
+rule "Hello World"
+	dialect "java"
+	when
+	then
+		System.out.println( "java" ); 
+end
+
+rule "GoodBye"
+	dialect "mvel"
+	when
+	then 
+		System.out.println( "mvel" );
+end

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/mvelonly.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/mvelonly.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/rule/builder/dialect/mvelonly.drl	2007-08-25 22:43:39 UTC (rev 14558)
@@ -0,0 +1,15 @@
+package org.drools;
+
+rule "Hello World"
+	dialect "mvel"
+	when
+	then
+		System.out.println( "mvel" ); 
+end
+
+rule "GoodBye"
+	dialect "mvel"
+	when
+	then 
+		System.out.println( "mvel" );
+end




More information about the jboss-svn-commits mailing list