[rules-users] Parallelization

Wolfgang Laun wolfgang.laun at gmail.com
Tue May 11 09:31:31 EDT 2010


On Tue, May 11, 2010 at 2:55 PM, djb <dbrownell83 at hotmail.com> wrote:

>
> Hi Wolfgang,
>
> I use one thread per StatefulKnowledgeSession... My machine has 2 cores,
> but
> it will eventually be running on an 8 core beast, so i reckon this was a
> good improvement.  I was just worried that I wouldn't be able to
> simultaneously process multiple K-Sessions, but apparently, Drools doesn't
> mind.  I'm pretty sure any machine with multiple cores supports parallel
> java threads, no?
>
> This is a Q for a Java guru (which I'm not), and may depend on the JVM and
what not. Care
to provide details? Probably there's people on this list who might know.
(Otherwise,
I have a good contact.)



> -----
> Regarding my Utilities method, eg.  isWithinTimePeriod("20100308",
> "20090405", 1, "Y")
>
> I can get about 5ms off by commenting out the eval, so it's not going to be
> a big jump even if I fix it, but, well, I am using yyyyMMdd Strings, which
> in the method, I sub-stringed, converted to ints, instantiated DateMidnight
> objects, and compared using Joda-time
> daysBetween/monthsBetween/yearsBetween
> methods.
>
> My thought was that pre-converting to ints would help, so that each
> ClaimLine has year/month/day int variables, and pass them in instead.
> (i.e.,
> Saves 3 String.substring()'s, and 3 Integer.parseInt()).  but that actually
> slowed it down a few milliseconds. (Maybe passing 6 params instead of 2?!)
>

You can treat 20100510 as an integer defining one date; all relations
between
such numbers would hold as for the "true" dates - you just can't compute
durations (days between dates) by simple substraction.


> I'm comparing two dates by an arbitrary period, like "2 days" or "1 month",
> and need the framework of the Gregorian Calendar.  So, I don't think I can
> do anything about this.  2 months is never guaranteed to be a set number of
> milliseconds.  It all depends on the claim date, which is fact data, and
> therefore variable.
>
>
I'm not sure how the other arguments in the call ("Y", 99) are related to
rules
or facts, but a repeated test whether one date dx is between d1 and d2 where
d2 depends on d1 and a duration would certainly gain from computing d2
once.

-W
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100511/a3b31dff/attachment.html 


More information about the rules-users mailing list