The lookup/release add/remove the component to/from an ArrayList. If you have a lot of Components which lookup other Components inside the compose method the List can be really big. If you have a lot of SubSitemaps which use many InputModules it grows and grows ..... and the performance goes down and down ...
First: ArrayList is only helpful for small lists. A better list type for this case would be the LinkedList.
Ok, but this is not the Killer. The Killer are Composable RequestLifecycleComponents, because they are usually lookuped from other Components using the ComponentManagerProxy but are released by the CocoonComponentManager which doesn't use the ComponentManagerProxy. What happen is, that they are not removed from the List, so the List explode.
This is a bug in COcoon's extension of the ECM project. IT is something that needs to be fixed.
Cocoon is welcome to update the ECM code in Excalibur if necessary.
--
"They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." - Benjamin Franklin