Greetings:

I've been running some benchmarks on some other systems recently using the WaltzDB-200 benchmark.  (I have to write the data / rules generator for each vendor and Drools will probably be next after Jess and CLIPS.  I've already done OPSJ and TECH.)   Using Java 6 / 64-bit system over the Java 5 system dramatically improves performance for the two that I have tried so far and there is no reason to believe that it wouldn't dramatically improve Drools as well.  The other thing that really improves performance is moving to a 64-bit systems.  Most desktop units (and laptops) are 32-bit OS, not 64-bit.   The final nail in the coffin was running DDR3 memory rather than DDR2 memory.  All together I got 10 times the performance or better.  When you put all of this together, you have a smoking machine.  

So, my vote is for Java 6, 64-bit OS and DDR 3 for any machine:  Server, Desktop, laptop, notebook, whatever...

SDG
James Owen
Founder October Rules Fest
Senior Consultant / Architect KBSC
Twitter: OctRulesFest
Blogs:
http://JavaRules.blogspot.com [Rulebased Systems Blog]
http://ORF2009.blogspot.com [October Rules Fest Blog]
http://exscg.blogspot.com/ [Expert Systems Consulting Group Blog]

"If I have seen a little further it is by standing on the shoulders of giants."
Sir Isaac Newton in a letter to Robert Hooke, 5 Feb 1676

Come to October Rules Fest and stand on the shoulders of the Giants of the industry; if only for a week.



On Oct 7, 2009, at 2:38 AM, Michael Neale wrote:

yeah its a pain - even if we have to target 1.5 (which is entirely
reasonable for the next few releases) we can probably *require* that
it is built with JDK6, using whatever dirty tricks there are to make
the bytecode work with 1.5.

Apparently the EOL is for the Sun JVM, the IBM and other ones have a
longer life, it seems (and in many cases, the EOL of support on the
core JVM is ignored by users, more so then the app servers or
libraries or applications they run on top ! I have no idea why it is
that way, it just is. Probably like how some places still have Windows
2000 or NT around !).


On Wed, Oct 7, 2009 at 4:44 AM, Geoffrey De Smet
<ge0ffrey.spam@gmail.com> wrote:
    To compile trunk with Java 6, for now you have to use "-source 1.5".

That doesn't work, as the maven compiler plugin is already set to use
source 1.5 in the main pom and I can't compile with jdk 6. It can only
be compiled with jdk 5 it seems, not jdk 6.

With kind regards,
Geoffrey De Smet


Edson Tirelli schreef:

    Geoffrey,

    Java 6 API change was not source backward compatible with Java 5.
Drools 5.1m1 is supposed to compile only with Java 5.

    We will probably move to Java 6 for the next milestone, since Java 5
is EOL this month anyway, but you need to rollback your change meanwhile.

    To compile trunk with Java 6, for now you have to use "-source 1.5".

    Edson


2009/10/6 Geoffrey De Smet <ge0ffrey.spam@gmail.com
<mailto:ge0ffrey.spam@gmail.com>>

    I've fixed it on trunk with this commit:
    "compilation error on jdk 6 (not on jdk 5) because the ExectutorService
    interface in java 6 follows the Joshua Bloch PECS pattern (so
    Collection<? extends Callable...> instead of just
    Collection<Callable...>)"

    See
    http://fisheye.jboss.org/browse/JBossRules/trunk/drools-core/src/main/java/org/drools/concurrent/ExternalExecutorService.java?r1=29459&r2=29541
    <http://fisheye.jboss.org/browse/JBossRules/trunk/drools-core/src/main/java/org/drools/concurrent/ExternalExecutorService.java?r1=29459&r2=29541>

    With kind regards,
    Geoffrey De Smet


    Geoffrey De Smet schreef:
     > When I try "mvn clean install -DskipTests", I get this (java version
     > "1.6.0_16"):
     >
     > [INFO]
     >
    ------------------------------------------------------------------------
     > [ERROR] BUILD FAILURE
     > [INFO]
     >
    ------------------------------------------------------------------------
     > [INFO] Compilation failure
     >
    /home/ge0ffrey/projects/jboss/drools/drools-core/src/main/java/org/drools/concurrent/ExternalExecutorService.java:[31,7]
     > org.drools.concurrent.ExternalExecutorService is not abstract and
    does
     > not override abstract method <T>invokeAny(java.util.Collection<?
    extends
     >
    java.util.concurrent.Callable<T>>,long,java.util.concurrent.TimeUnit) in
     > java.util.concurrent.ExecutorService
     >
     >
     >
     >
    /home/ge0ffrey/projects/jboss/drools/drools-core/src/main/java/org/drools/concurrent/ExternalExecutorService.java:[31,7]
     > org.drools.concurrent.ExternalExecutorService is not abstract and
    does
     > not override abstract method <T>invokeAny(java.util.Collection<?
    extends
     >
    java.util.concurrent.Callable<T>>,long,java.util.concurrent.TimeUnit) in
     > java.util.concurrent.ExecutorService
     >
     >

    _______________________________________________
    rules-dev mailing list
    rules-dev@lists.jboss.org <mailto:rules-dev@lists.jboss.org>
    https://lists.jboss.org/mailman/listinfo/rules-dev




--
 Edson Tirelli
 JBoss Drools Core Development
 JBoss by Red Hat @ www.jboss.com <http://www.jboss.com>


------------------------------------------------------------------------

_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev




--
Michael D Neale
home: www.michaelneale.net
blog: michaelneale.blogspot.com

_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev