Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 69676 invoked from network); 1 Nov 2007 10:35:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Nov 2007 10:35:12 -0000 Received: (qmail 8931 invoked by uid 500); 1 Nov 2007 10:35:00 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 8911 invoked by uid 500); 1 Nov 2007 10:35:00 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 8902 invoked by uid 99); 1 Nov 2007 10:35:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Nov 2007 03:35:00 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Nov 2007 10:35:12 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id EF44C714231 for ; Thu, 1 Nov 2007 03:34:51 -0700 (PDT) Message-ID: <26567190.1193913291977.JavaMail.jira@brutus> Date: Thu, 1 Nov 2007 03:34:51 -0700 (PDT) From: "Jimmy, Jing Lv (JIRA)" To: commits@harmony.apache.org Subject: [jira] Created: (HARMONY-5056) [classlib][logging]LogManager.addLogger can improve performance MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [classlib][logging]LogManager.addLogger can improve performance --------------------------------------------------------------- Key: HARMONY-5056 URL: https://issues.apache.org/jira/browse/HARMONY-5056 Project: Harmony Issue Type: Improvement Components: Classlib Reporter: Jimmy, Jing Lv Assignee: Jimmy, Jing Lv LogManager.addLogger call addToFamilyTree to find parent and children. Currently it search all loggers to find children, it can be improved a lot if we only search some necessary loggers(loggers that have the new logger's parent). A micro benchmark here: public void test_addLogger() throws Exception { LogManager lm = LogManager.getLogManager(); long start = System.currentTimeMillis(); for (int p = 0; p < 10; p++) { for (int u = 0; u < 13; u++) { for (int j = 13; j > 0; j--) { char[] name = new char[j*2]; for (int k = 0; k < j; k++) { name[2*k]=(char)((int)'a'+u+k); name[2*k+1]='.'; } for (int i = 'a';i<'z';i++){ name[2*j-1]=(char)i; lm.addLogger(Logger.getLogger(String.valueOf(name))); } } } lm.addLogger(Logger.getLogger("")); } long end = System.currentTimeMillis(); System.out.println("Time:"+ (end - start)); } Apply the new algorithm, it may saved 85% time (4.8sec -> 0.7 sec, on windows xp sp2). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.