Return-Path: Delivered-To: apmail-felix-dev-archive@www.apache.org Received: (qmail 89758 invoked from network); 25 Feb 2008 14:12:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Feb 2008 14:12:44 -0000 Received: (qmail 1236 invoked by uid 500); 25 Feb 2008 14:12:39 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 1197 invoked by uid 500); 25 Feb 2008 14:12:38 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 1188 invoked by uid 99); 25 Feb 2008 14:12:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Feb 2008 06:12:38 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of gnodet@gmail.com designates 216.239.58.184 as permitted sender) Received: from [216.239.58.184] (HELO gv-out-0910.google.com) (216.239.58.184) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Feb 2008 14:12:05 +0000 Received: by gv-out-0910.google.com with SMTP id n40so533282gve.39 for ; Mon, 25 Feb 2008 06:12:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=93hPaTI6YwabOxjZv41ZumbcKlcbjTgZKaFrbQDxDmk=; b=XI1pIQB2Lko8856dMl+zKyLlMAjx5nmy6Vi1bVPOYTZHWtV+DSqXNMBgOOMuYEgAjHrS+fuYTOWdFOqeXadKJJ/FtZvKIFLv/HAHtKqGdZZCAS7xLKil6idorHV1x4wqEnd1hjlS4AZuv7F/wkepFDdc2qFFs6qzAlmitcptCoM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=rySss5Kclj0U9iC393LZdE3zhf8My1LRS9FGMUBdkNjsGEIAmP1SdKqAMDavJVsA6DlSwARfS6qHLqVPaBh2p7vYErCJvHzOdYR1XZO3dt2gVsKmrvCHbQlDX+6PE4lp0dYu/AtRErxL+9jXD0AR9NUiLkM2nuYU8ES4sNMFWnI= Received: by 10.150.155.1 with SMTP id c1mr1103479ybe.85.1203948732160; Mon, 25 Feb 2008 06:12:12 -0800 (PST) Received: by 10.150.138.6 with HTTP; Mon, 25 Feb 2008 06:12:12 -0800 (PST) Message-ID: Date: Mon, 25 Feb 2008 15:12:12 +0100 From: "Guillaume Nodet" To: dev@felix.apache.org, dev@servicemix.apache.org Subject: Performance problems in classloading MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Checked: Checked by ClamAV on apache.org I'm currently working on ServiceMix 4 which uses Felix.\ I have some really important performance problems in classloading. When loading JBI applications (they have some very specific classloading architecture that must be implemented to be JBI compliant), 95% of the time is spent in the following method: R4SearchPolicyCore.diagnoseClassLoadError() which is not really acceptable. The problem is that the classloader is built dynamically and does not completely rely on OSGi. For this reason, the classloader of JBI artifacts delegates to the parent classloader, then looks inside its own jar. This means there will be lots of ClassNotFoundException thrown by the parents classloader (ultimately by Felix). Is there any way to maybe speed / disable the diagnoseClassLoadError method call which is purely informative ? I know the design of the JBI classloaders is not really a good fit in OSGi, so I will investigate a better solution (leveraging more of OSGi classloaders) anyway, but I still wanted to report the problem. -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/