[jboss-svn-commits] JBL Code SVN: r19202 - labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Mar 21 22:27:17 EDT 2008


Author: mingjin
Date: 2008-03-21 22:27:16 -0400 (Fri, 21 Mar 2008)
New Revision: 19202

Modified:
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java
Log:
JBRULES-1095 Rete build performance optimization

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java	2008-03-22 01:58:04 UTC (rev 19201)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java	2008-03-22 02:27:16 UTC (rev 19202)
@@ -429,29 +429,28 @@
     }
 
     public ObjectSink[] getSinks() {
-        final List list = new ArrayList();
+        ObjectSink[]    list = new ObjectSink[size()];
+        int             at  = 0;
 
         if ( this.otherSinks != null ) {
             for ( ObjectSinkNode sink = this.otherSinks.getFirst(); sink != null; sink = sink.getNextObjectSinkNode() ) {
-                list.add( sink );
+                list[at++]  = sink ;
             }
         }
 
         if ( this.hashableSinks != null ) {
             for ( ObjectSinkNode sink = this.hashableSinks.getFirst(); sink != null; sink = sink.getNextObjectSinkNode() ) {
-                list.add( sink );
+                list[at++]  = sink ;
             }
         }
 
         if ( this.hashedSinkMap != null ) {
             final Iterator it = this.hashedSinkMap.newIterator();
             for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
-                final ObjectSink sink = (ObjectSink) entry.getValue();
-                list.add( sink );
+                list[at++]  = (ObjectSink) entry.getValue() ;
             }
         }
-
-        return (ObjectSink[]) list.toArray( new ObjectSink[list.size()] );
+        return list;
     }
 
     public int size() {




More information about the jboss-svn-commits mailing list