[rules-dev] Run findbugs on your module to find performance issues that are easy to fix

Geoffrey De Smet ge0ffrey.spam at gmail.com
Mon Sep 19 09:07:02 EDT 2011


Hi guys,

It's very easy to run findbugs on your module:

   cd droolsjbpm/drools-core
   mvn site -DskipTests
   firefox target/site/findbugs.html

Most of the "bugs" on that webpage are ignorable, but there are a couple 
of very interesting cases.
Just look for category PERFORMANCE.


For example in drools-core:
   Method new 
org.drools.io.impl.ResourceChangeScannerConfigurationImpl(Properties) 
makes inefficient use of keySet iterator instead of entrySet iterator

This code:
     public ResourceChangeScannerConfigurationImpl(Properties properties) {
         for( Object key : properties.keySet() ) {
             setProperty( (String) key, (String) properties.get( key ) );
         }
     }
should be the faster alternative:
     public ResourceChangeScannerConfigurationImpl(Properties properties) {
         for(Map.Entry<Object, Object> entry : properties.entrySet() ) {
             setProperty( (String) entry.getKey(), (String) 
entry.getValue());
         }
     }

-- 
With kind regards,
Geoffrey De Smet




More information about the rules-dev mailing list