[jboss-svn-commits] JBL Code SVN: r7832 - in labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark: . waltzdb

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Nov 26 09:29:45 EST 2006


Author: mfrandsen
Date: 2006-11-26 09:29:40 -0500 (Sun, 26 Nov 2006)
New Revision: 7832

Added:
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Edge.java
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/EdgeLabel.java
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Illegal.java
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Junction.java
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Label.java
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Line.java
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Stage.java
   labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/WaltzDbBenchmark.java
Log:
waltzdb benchmark sources

Added: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Edge.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Edge.java	2006-11-25 22:29:17 UTC (rev 7831)
+++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Edge.java	2006-11-26 14:29:40 UTC (rev 7832)
@@ -0,0 +1,87 @@
+package org.drools.benchmark.waltzdb;
+
+
+//(literalize edge type p1 p2 joined)
+public class Edge {
+	private String type;
+	private int p1;
+	private int p2;
+	private boolean joined;
+	public Edge() {
+		super();
+	}
+	public Edge(String type, int p1, int p2, boolean joined) {
+		super();
+		this.type = type;
+		this.p1 = p1;
+		this.p2 = p2;
+		this.joined = joined;
+	}
+	public Edge(int p1, int p2, boolean joined) {
+		super();
+		this.p1 = p1;
+		this.p2 = p2;
+		this.joined = joined;
+	}
+	public Edge(int p1, int p2) {
+		super();
+		this.p1 = p1;
+		this.p2 = p2;
+	}
+	@Override
+	public int hashCode() {
+		final int PRIME = 31;
+		int result = 1;
+		result = PRIME * result + (joined ? 1231 : 1237);
+		result = PRIME * result + p1;
+		result = PRIME * result + p2;
+		result = PRIME * result + ((type == null) ? 0 : type.hashCode());
+		return result;
+	}
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		final Edge other = (Edge) obj;
+		if (joined != other.joined)
+			return false;
+		if (p1 != other.p1)
+			return false;
+		if (p2 != other.p2)
+			return false;
+		if (type == null) {
+			if (other.type != null)
+				return false;
+		} else if (!type.equals(other.type))
+			return false;
+		return true;
+	}
+	public boolean isJoined() {
+		return joined;
+	}
+	public void setJoined(boolean joined) {
+		this.joined = joined;
+	}
+	public int getP1() {
+		return p1;
+	}
+	public void setP1(int p1) {
+		this.p1 = p1;
+	}
+	public int getP2() {
+		return p2;
+	}
+	public void setP2(int p2) {
+		this.p2 = p2;
+	}
+	public String getType() {
+		return type;
+	}
+	public void setType(String type) {
+		this.type = type;
+	}
+}

Added: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/EdgeLabel.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/EdgeLabel.java	2006-11-25 22:29:17 UTC (rev 7831)
+++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/EdgeLabel.java	2006-11-26 14:29:40 UTC (rev 7832)
@@ -0,0 +1,77 @@
+package org.drools.benchmark.waltzdb;
+//(literalize edge_label p1 p2 l_name l_id)
+public class EdgeLabel {
+	private int p1;
+	private int p2;
+	private String labelName;
+	private String labelId;
+	public EdgeLabel() {
+		super();
+	}
+	public EdgeLabel(int p1, int p2, String labelName, String labelId) {
+		super();
+		this.p1 = p1;
+		this.p2 = p2;
+		this.labelName = labelName;
+		this.labelId = labelId;
+	}
+	@Override
+	public int hashCode() {
+		final int PRIME = 31;
+		int result = 1;
+		result = PRIME * result + ((labelId == null) ? 0 : labelId.hashCode());
+		result = PRIME * result + ((labelName == null) ? 0 : labelName.hashCode());
+		result = PRIME * result + p1;
+		result = PRIME * result + p2;
+		return result;
+	}
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		final EdgeLabel other = (EdgeLabel) obj;
+		if (labelId == null) {
+			if (other.labelId != null)
+				return false;
+		} else if (!labelId.equals(other.labelId))
+			return false;
+		if (labelName == null) {
+			if (other.labelName != null)
+				return false;
+		} else if (!labelName.equals(other.labelName))
+			return false;
+		if (p1 != other.p1)
+			return false;
+		if (p2 != other.p2)
+			return false;
+		return true;
+	}
+	public String getLabelId() {
+		return labelId;
+	}
+	public void setLabelId(String labelId) {
+		this.labelId = labelId;
+	}
+	public String getLabelName() {
+		return labelName;
+	}
+	public void setLabelName(String labelName) {
+		this.labelName = labelName;
+	}
+	public int getP1() {
+		return p1;
+	}
+	public void setP1(int p1) {
+		this.p1 = p1;
+	}
+	public int getP2() {
+		return p2;
+	}
+	public void setP2(int p2) {
+		this.p2 = p2;
+	}
+}

Added: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Illegal.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Illegal.java	2006-11-25 22:29:17 UTC (rev 7831)
+++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Illegal.java	2006-11-26 14:29:40 UTC (rev 7832)
@@ -0,0 +1,52 @@
+package org.drools.benchmark.waltzdb;
+//(literalize illegal bp l_id)
+public class Illegal {
+	private int basePoint;
+	private String labelId;
+	public Illegal() {
+		super();
+	}
+	public Illegal(int basePoint, String labelId) {
+		super();
+		this.basePoint = basePoint;
+		this.labelId = labelId;
+	}
+	@Override
+	public int hashCode() {
+		final int PRIME = 31;
+		int result = 1;
+		result = PRIME * result + basePoint;
+		result = PRIME * result + ((labelId == null) ? 0 : labelId.hashCode());
+		return result;
+	}
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		final Illegal other = (Illegal) obj;
+		if (basePoint != other.basePoint)
+			return false;
+		if (labelId == null) {
+			if (other.labelId != null)
+				return false;
+		} else if (!labelId.equals(other.labelId))
+			return false;
+		return true;
+	}
+	public int getBasePoint() {
+		return basePoint;
+	}
+	public void setBasePoint(int basePoint) {
+		this.basePoint = basePoint;
+	}
+	public String getLabelId() {
+		return labelId;
+	}
+	public void setLabelId(String labelId) {
+		this.labelId = labelId;
+	}
+}

Added: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Junction.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Junction.java	2006-11-25 22:29:17 UTC (rev 7831)
+++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Junction.java	2006-11-26 14:29:40 UTC (rev 7832)
@@ -0,0 +1,138 @@
+package org.drools.benchmark.waltzdb;
+//(literalize junction p1 p2 p3 base_point type name visited)
+public class Junction {
+
+	public static String L = "L";
+	public Junction() {
+		super();
+	}
+	@Override
+	public String toString() {
+		String result = "JUNCTION: P1=" + p1 + ",P2=" + p2 + ",P3=" + 
+		p3 + ",BasePoint=" + basePoint + ", Type=" + type +
+		",Name=" + name + ",Visited=" + visited;
+		return result;
+	}
+	private int p1;
+	private int p2;
+	private int p3;
+	private int basePoint;
+	private String type;
+	private String name;
+	private String visited;
+	public Junction(String type, String name, int basePoint, int p1,int p2, String visited){
+		super();
+		this.p1 = p1;
+		this.p2 = p2;
+		this.basePoint = basePoint;
+		this.type = type;
+		this.name = name;
+		this.visited = visited;
+	}	
+	public Junction(int p1, int p2, int p3, int basePoint, String type, String name, String visited) {
+		super();
+		this.p1 = p1;
+		this.p2 = p2;
+		this.p3 = p3;
+		this.basePoint = basePoint;
+		this.type = type;
+		this.name = name;
+		this.visited = visited;
+	}
+	public Junction(int basePoint, String type, String name, String visited) {
+		super();
+		this.basePoint = basePoint;
+		this.type = type;
+		this.name = name;
+		this.visited = visited;
+	}
+	public int getBasePoint() {
+		return basePoint;
+	}
+	public void setBasePoint(int basePoint) {
+		this.basePoint = basePoint;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public int getP1() {
+		return p1;
+	}
+	public void setP1(int p1) {
+		this.p1 = p1;
+	}
+	public int getP2() {
+		return p2;
+	}
+	public void setP2(int p2) {
+		this.p2 = p2;
+	}
+	public int getP3() {
+		return p3;
+	}
+	public void setP3(int p3) {
+		this.p3 = p3;
+	}
+	public String getType() {
+		return type;
+	}
+	public void setType(String type) {
+		this.type = type;
+	}
+	public String getVisited() {
+		return visited;
+	}
+	public void setVisited(String visited) {
+		this.visited = visited;
+	}
+	@Override
+	public int hashCode() {
+		final int PRIME = 31;
+		int result = 1;
+		result = PRIME * result + basePoint;
+		result = PRIME * result + ((name == null) ? 0 : name.hashCode());
+		result = PRIME * result + p1;
+		result = PRIME * result + p2;
+		result = PRIME * result + p3;
+		result = PRIME * result + ((type == null) ? 0 : type.hashCode());
+		result = PRIME * result + ((visited == null) ? 0 : visited.hashCode());
+		return result;
+	}
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		final Junction other = (Junction) obj;
+		if (basePoint != other.basePoint)
+			return false;
+		if (name == null) {
+			if (other.name != null)
+				return false;
+		} else if (!name.equals(other.name))
+			return false;
+		if (p1 != other.p1)
+			return false;
+		if (p2 != other.p2)
+			return false;
+		if (p3 != other.p3)
+			return false;
+		if (type == null) {
+			if (other.type != null)
+				return false;
+		} else if (!type.equals(other.type))
+			return false;
+		if (visited == null) {
+			if (other.visited != null)
+				return false;
+		} else if (!visited.equals(other.visited))
+			return false;
+		return true;
+	}
+}

Added: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Label.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Label.java	2006-11-25 22:29:17 UTC (rev 7831)
+++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Label.java	2006-11-26 14:29:40 UTC (rev 7832)
@@ -0,0 +1,111 @@
+package org.drools.benchmark.waltzdb;
+//(literalize label id type name n1 n2 n3)
+public class Label {
+	private String id;
+	private String type;
+	private String name;
+	private String n1;
+	private String n2;
+	private String n3;
+	public Label() {
+		super();
+	}
+	public Label(String id, String type, String name, String n1, String n2, String n3) {
+		super();
+		this.id = id;
+		this.type = type;
+		this.name = name;
+		this.n1 = n1;
+		this.n2 = n2;
+		this.n3 = n3;
+	}
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getN1() {
+		return n1;
+	}
+	public void setN1(String n1) {
+		this.n1 = n1;
+	}
+	public String getN2() {
+		return n2;
+	}
+	public void setN2(String n2) {
+		this.n2 = n2;
+	}
+	public String getN3() {
+		return n3;
+	}
+	public void setN3(String n3) {
+		this.n3 = n3;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getType() {
+		return type;
+	}
+	public void setType(String type) {
+		this.type = type;
+	}
+	@Override
+	public int hashCode() {
+		final int PRIME = 31;
+		int result = 1;
+		result = PRIME * result + ((id == null) ? 0 : id.hashCode());
+		result = PRIME * result + ((n1 == null) ? 0 : n1.hashCode());
+		result = PRIME * result + ((n2 == null) ? 0 : n2.hashCode());
+		result = PRIME * result + ((n3 == null) ? 0 : n3.hashCode());
+		result = PRIME * result + ((name == null) ? 0 : name.hashCode());
+		result = PRIME * result + ((type == null) ? 0 : type.hashCode());
+		return result;
+	}
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		final Label other = (Label) obj;
+		if (id == null) {
+			if (other.id != null)
+				return false;
+		} else if (!id.equals(other.id))
+			return false;
+		if (n1 == null) {
+			if (other.n1 != null)
+				return false;
+		} else if (!n1.equals(other.n1))
+			return false;
+		if (n2 == null) {
+			if (other.n2 != null)
+				return false;
+		} else if (!n2.equals(other.n2))
+			return false;
+		if (n3 == null) {
+			if (other.n3 != null)
+				return false;
+		} else if (!n3.equals(other.n3))
+			return false;
+		if (name == null) {
+			if (other.name != null)
+				return false;
+		} else if (!name.equals(other.name))
+			return false;
+		if (type == null) {
+			if (other.type != null)
+				return false;
+		} else if (!type.equals(other.type))
+			return false;
+		return true;
+	}
+}

Added: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Line.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Line.java	2006-11-25 22:29:17 UTC (rev 7831)
+++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Line.java	2006-11-26 14:29:40 UTC (rev 7832)
@@ -0,0 +1,49 @@
+package org.drools.benchmark.waltzdb;
+
+public class Line {
+	private int p1;
+	private int p2;
+	public Line() {
+		super();
+	}
+	public int getP1() {
+		return p1;
+	}
+	public void setP1(int p1) {
+		this.p1 = p1;
+	}
+	public int getP2() {
+		return p2;
+	}
+	public void setP2(int p2) {
+		this.p2 = p2;
+	}
+	@Override
+	public int hashCode() {
+		final int PRIME = 31;
+		int result = 1;
+		result = PRIME * result + p1;
+		result = PRIME * result + p2;
+		return result;
+	}
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		final Line other = (Line) obj;
+		if (p1 != other.p1)
+			return false;
+		if (p2 != other.p2)
+			return false;
+		return true;
+	}
+	public Line(int p1, int p2) {
+		super();
+		this.p1 = p1;
+		this.p2 = p2;
+	}
+}

Added: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Stage.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Stage.java	2006-11-25 22:29:17 UTC (rev 7831)
+++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/Stage.java	2006-11-26 14:29:40 UTC (rev 7832)
@@ -0,0 +1,59 @@
+package org.drools.benchmark.waltzdb;
+
+public class Stage {
+	final public static String DUPLICATE = "A";
+	final public static String DETECT_JUNCTIONS = "B";
+	final public static String FIND_INITIAL_BOUNDARY = "C";
+	final public static String FIND_SECOND_BOUDARY = "D";
+	final public static String LABELING = "E";
+	final public static String VISITING_3J = "F";
+	final public static String VISITING_2J = "G";
+	final public static String MARKING = "H";
+	final public static String CHECKING = "I";
+	final public static String REMOVE_LABEL = "J";
+	final public static String PRINTING = "K";
+	
+	private String value;
+
+	public Stage() {
+		super();
+	}
+
+	public Stage(String value) {
+		super();
+		this.value = value;
+	}
+
+	@Override
+	public int hashCode() {
+		final int PRIME = 31;
+		int result = 1;
+		result = PRIME * result + ((value == null) ? 0 : value.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		final Stage other = (Stage) obj;
+		if (value == null) {
+			if (other.value != null)
+				return false;
+		} else if (!value.equals(other.value))
+			return false;
+		return true;
+	}
+
+	public String getValue() {
+		return value;
+	}
+
+	public void setValue(String value) {
+		this.value = value;
+	} 
+}

Added: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/WaltzDbBenchmark.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/WaltzDbBenchmark.java	2006-11-25 22:29:17 UTC (rev 7831)
+++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltzdb/WaltzDbBenchmark.java	2006-11-26 14:29:40 UTC (rev 7832)
@@ -0,0 +1,94 @@
+package org.drools.benchmark.waltzdb;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.Iterator;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.RuleBase;
+import org.drools.rule.Package;
+import org.drools.RuleBaseConfiguration;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.compiler.PackageBuilder;
+
+
+public class WaltzDbBenchmark {
+    public static void main(final String[] args) throws Exception {
+        try {
+        	
+            PackageBuilder builder = new PackageBuilder();
+            builder.addPackageFromDrl( new InputStreamReader( WaltzDbBenchmark.class.getResourceAsStream( "waltzdb.drl" ) ) );
+            Package pkg = builder.getPackage();
+            
+            RuleBaseConfiguration conf = new RuleBaseConfiguration();
+    		conf.setRemoveIdentities( true );
+    		final RuleBase ruleBase = RuleBaseFactory.newRuleBase(RuleBase.RETEOO, conf);
+           
+    		ruleBase.addPackage( pkg );
+           
+            WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+            
+            java.util.List lines = WaltzDbBenchmark.loadLines("waltzdb16.dat"); //12,8,4
+            java.util.List labels = WaltzDbBenchmark.loadLabels("waltzdb16.dat"); //12,8,4
+            long now = System.currentTimeMillis();
+        	Iterator iter =lines.iterator();
+        	while(iter.hasNext()){
+        		Line line = (Line)iter.next();
+        		workingMemory.assertObject(line);
+        		System.out.println(line.getP1() + " " +  line.getP2());
+        	}
+        	
+        	iter =labels.iterator();
+        	while(iter.hasNext()){
+        		Label label = (Label)iter.next();
+        		workingMemory.assertObject(label);
+        		System.out.println(label.getId() + " " +  label.getType());
+        	}
+            
+            Stage stage = new Stage(Stage.DUPLICATE);
+            workingMemory.assertObject( stage );
+            workingMemory.fireAllRules();        
+        	System.out.println("Time: " + (System.currentTimeMillis() - now));
+        	
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+        
+    }
+
+    private static java.util.List loadLines(String filename) throws IOException {
+        BufferedReader reader = new BufferedReader(new InputStreamReader( WaltzDbBenchmark.class.getResourceAsStream( filename ) ));
+        Pattern pat = Pattern.compile( ".*make line \\^p1 ([0-9]*) \\^p2 ([0-9]*).*" );
+        String line = reader.readLine();
+        java.util.List result = new java.util.ArrayList();
+        while(line != null) {
+            Matcher m = pat.matcher( line );
+            if(m.matches()) {
+                Line l = new Line(Integer.parseInt( m.group( 1 ) ),
+                                  Integer.parseInt( m.group( 2 ) ) );
+                result.add(l);
+            }
+            line = reader.readLine();
+        }
+        reader.close();
+        return result;
+    }
+    private static java.util.List loadLabels(String filename) throws IOException {
+        BufferedReader reader = new BufferedReader(new InputStreamReader( WaltzDbBenchmark.class.getResourceAsStream( filename ) ));
+        Pattern pat = Pattern.compile( ".*make label \\^type ([0-9a-z]*) \\^name ([0-9a-zA-Z]*) \\^id ([0-9]*) \\^n1 ([B+-]*) \\^n2 ([B+-]*)( \\^n3 ([B+-]*))?.*" );
+        String line = reader.readLine();
+        java.util.List result = new java.util.ArrayList();
+        while(line != null) {
+            Matcher m = pat.matcher( line );
+            if(m.matches()) {
+                Label l = new Label(m.group( 1 ),m.group( 2 ), m.group(3) , m.group(4), m.group(5), m.group(6) );
+                result.add(l);
+            }
+            line = reader.readLine();
+        }
+        reader.close();
+        return result;
+    }
+}




More information about the jboss-svn-commits mailing list