[rules-users] Drools Perm gen grows constantly

Mario Fusco mario.fusco at gmail.com
Mon Nov 18 11:41:21 EST 2013


Hi,

I think there's a bit of confusion here and I agree this is caused by not
exhaustive documentation (we are trying to improve it).

The permgen threshold option is used for constraint jitting and that one
works exactly in the same way regardless of the dialects. However when using
the java dialect the permgen occupation grows not because of constraint
jitting but because we have to generate java classes to implement the
consequences.

To cut it short permgen threshold and dialects are 2 orthogonal things, but
it's true that keeping the threshold to 0 and using the mvel dialect is the
best combination to reduce to the minimum the permgen occupation, because
the first prevents the generation of java classes for constraints jitting
while the second has the same effect for what regards consequences.

Nevertheless there's a performance drawback in doing this because not
allowing constraint jitting means that they will be always evaluated in
interpreted mode, while for the same reason mvel consequences are a bit
slower than java ones. For this reason my personal advice is to look for the
best compromise between permgen occupation and performances for your
specific use case.

I hope this helps,
Mario



--
View this message in context: http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673p4026810.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list