Oops... This e-mail went out too quickly.
There are 8M BINNING_INPUT facts that will eventually be reasoned upon... But only 10k at
a time.
In other words, the matrix of BINNING_INPUT x LU_DEVICE_TYPE should be about 10k x 10k
Dave
From: David Martin
<david.martin@mercedsystems.com<mailto:david.martin@mercedsystems.com>>
Reply-To: Rules Users List
<rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org>>
Date: Mon, 19 Dec 2011 16:23:21 +0000
To: "rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org>"
<rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org>>
Subject: [rules-users] Poor performance from a simple join
Folks:
My co-workers and I have been using Drools to great success, but we ran smack into a
performance brick wall recently.
In the example below, both BINNING_INPUT and LU_DEVICE_TYPE have large numbers of
associated facts in working memory (BINNING_INPUT has more than 8 million facts in working
memory, LU_DEVICE_TYPE about 10k.)
LU_DEVICE_TYPE models a lookup table.
rule "Binning for Attribute: Device_type_desc"
when
$call :
BINNING_INPUT()
$device_typeLookup :
LU_DEVICE_TYPE(
$call.device_type == device_type
)
then
$call.setDevice_type_desc($device_typeLookup.getDevice_type_desc());
end
It's a simple enough rule: join on the device_type field. Unfortunately, this rule
and a few others like it are taking FOREVER to insert. Even when I cut the number of
BINNING_INPUT facts in working memory down from 8M to 10k.
This feels like a basic Drools question. But I can't seem to find any help from
google.
Please advise!
Thanks in advance,
Dave Martin
_______________________________________________ rules-users mailing list
rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users