Hi,

I just discovered this setting. Setting this to true prevents the meta classes of objects that don't implement GroovyObject being weak references.

The problem with not setting this to true is that when we get into memory pressure, the meta classes will start to be collected as they are stored as weak references. This will include java.lang.String etc. So we end up thrashing because the meta classes are collected due to memory pressure which frees up a little, then we run a little more code which causes the recreation of the metaclasses, rinse repeat.

Grails has this same problem and they set this flag to true. The net result is that the process will OOM instead of thrashing indefinitely.

--
Luke Daley
Principal Engineer
http://gradleware.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to