Hi,
I have rules that uses nested properties. There are more than thousands
of such rules. Before using any nested properties, time to build working
memory(from decision tables) was pretty fast. After using nested
properties, rule compilation time increased by many folds and it is worse
in environments where NAS is used instead of SCSI disks.
Worst thing is I am not able to profile app using VisualVM as it gives
error that 64k limit of instrumented methods exceeded. So took some thread
dump using jstack and see that most often thread is doing class loading.
This is performed by MVEL classes.
On seeing this I used custom class loader in KnowledgeBuilder and
printed all loaded classes. I do not see that MVEL is using custom class
loader and is directly reading class using some other class loader.This
class loading is taking pretty long time when using network disks.
Is there any way to speed up rule compilation time when using nested
properties.Is there anything like a hint to tell MVEL to load fields of an
object directly from that class instead of searching it in entire
classpath? I see something like "m:" in
MVELDialectRuntimeData.getParserConfiguration().
Using Drools 5.30 Final and Decision tables.
Thanks,
Anto
Show replies by date