Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 80150 invoked from network); 3 Nov 2003 13:39:45 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 3 Nov 2003 13:39:44 -0000 Received: (qmail 93132 invoked by uid 500); 3 Nov 2003 13:39:38 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 93011 invoked by uid 500); 3 Nov 2003 13:39:37 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 92986 invoked from network); 3 Nov 2003 13:39:37 -0000 Received: from unknown (HELO onramp.i95.net) (205.177.132.17) by daedalus.apache.org with SMTP; 3 Nov 2003 13:39:37 -0000 Received: from apache.org ([66.208.12.130]) by onramp.i95.net (8.12.10/8.12.9) with ESMTP id hA3DdVdH013056; Mon, 3 Nov 2003 08:39:31 -0500 Message-ID: <3FA65A97.9090608@apache.org> Date: Mon, 03 Nov 2003 08:39:35 -0500 From: Berin Loritsch User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Avalon Developers List CC: dev@cocoon.apache.org Subject: Re: [IMP] Performance Killer and Memory leak References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N volker.schmitt@basf-it-services.com wrote: > 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