Hi Drools aficionados,
This is further to my request to improve speed. As requested previously, I
am providing an example rule.
So, I found that by only retracting facts after processing multiple claims,
instead of after every claim, I managed to improve speed from 300ms per
claim to 50ms! We need it to be sub-170ms to be a viable option.
But, I need to retract facts. As you can see, if I add new Claim data, it
might match the last guy's claim data (Bad!). It would appear that
'disabling' the data would require an update and take as much time as a
retract.
So, is there any way around this? Am I stuck with 300ms per claim? Would
changing to sequential stateless session be possible, or worthwhile? If I
can't improve the speed, I will have to advice against Drools for the
project.
regards,
Daniel
---------------------
My rules look like this:
rule "RULE_2090"
when
$cl: ClaimLine(historic == false, code == 000000003908, type == "T")
$historic: ClaimLine(historic == true, code >= 000000000052 && <=
000000000052, type == "P", $dt : date)
eval(Utilities.isWithinTimePeriod($dt, $cl.date, "Y", "99"))
$historic_many: ArrayList(size >= 0) from collect(ClaimLine(historic ==
true, code >= 000000000052 && <= 000000000052, type == "P"))
then
String ruleName = drools.getRule().getName();
results.addMessage(ruleName, "000000003908","Only 1 test per day
");
results.setRefer("R");
end
--
View this message in context:
http://drools-java-rules-engine.46999.n3.nabble.com/Bulk-Retract-speed-co...
Sent from the Drools - User mailing list archive at
Nabble.com.