I have a large set of rules around 5000.
In general I have around 4 conditions per rule and its taking in average around 30- ~40 ms to go through the 5000 rules.
However the following construct that I am using to match the incoming set of input strings is adding on the average 200ms to rules execution.
Is there a more efficient way to do this?
MyContext is the fact class and classes is array of String.
I need to make sure that the classes array contains all three strings TestString1, TestString2 and TestString3.
MyContext(DclassesList : classes)
exists( String(this matches "TestString1") || String(this matches "TestString2") || String(this matches "TestString3") from DclassesList)
Of course each rule in the 5000 can have diff set of strings to match.