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
http://www.kbsc.com
http://www.OctoberRulesFest.org
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(a)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(a)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/jav...
>>
<
http://fisheye.jboss.org/browse/JBossRules/trunk/drools-core/src/main/jav...
>> >
>>
>> 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(a)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(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-dev
>
> _______________________________________________
> rules-dev mailing list
> rules-dev(a)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(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev