From commits-return-57097-apmail-harmony-commits-archive=harmony.apache.org@harmony.apache.org Wed Jan 14 09:31:21 2009 Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 67712 invoked from network); 14 Jan 2009 09:31:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Jan 2009 09:31:21 -0000 Received: (qmail 85087 invoked by uid 500); 14 Jan 2009 09:31:21 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 85067 invoked by uid 500); 14 Jan 2009 09:31:21 -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 85057 invoked by uid 99); 14 Jan 2009 09:31:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Jan 2009 01:31:21 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Jan 2009 09:31:20 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 4C76C234C4AE for ; Wed, 14 Jan 2009 01:31:00 -0800 (PST) Message-ID: <1891459634.1231925460312.JavaMail.jira@brutus> Date: Wed, 14 Jan 2009 01:31:00 -0800 (PST) From: "Wenlong Li (JIRA)" To: commits@harmony.apache.org Subject: [jira] Updated: (HARMONY-6039) Implement on-demand class library parsing to avoid unnecessary jar/zip parsing during startup In-Reply-To: <753788846.1228879004286.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-6039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Wenlong Li updated HARMONY-6039: -------------------------------- Attachment: H6039.patch_2 Accurate on-demand parsing by leveraging file signature (file size and time) and module library mapping info. Now this patch supports (1) accurate on-demand loading and parsing. If the classes in one jar is not requested, it will not be loaded and parsed. (2) up-to-date mapping info. If some module is modified or new module is added, the mapping info can reflect such change automatically without user's intervention. > Implement on-demand class library parsing to avoid unnecessary jar/zip parsing during startup > --------------------------------------------------------------------------------------------- > > Key: HARMONY-6039 > URL: https://issues.apache.org/jira/browse/HARMONY-6039 > Project: Harmony > Issue Type: Improvement > Components: VM > Environment: Conduct experiments on Windows XP, Core 2 Quad-core machine > Reporter: Wenlong Li > Assignee: Xiao-Feng Li > Attachments: h6039.patch_1, H6039.patch_2, H6039_on_demand_library_parsing_patch, instrumentation_code, On-demand runtime library loading_1, On-demand runtime library loading_2, on_demand_patch > > > During VM creation, Harmony will parse all class libraried defined in bootclasspath.properties under jre/lib/boot directory. However, not all class libraries are accessed during startup. That means, it is not necessary to open and resolve all these class libraries. > In this patch, I implement the on-demand jar parsing. I leverage the class library info defined in the manifest file of each module. For a request class, if it is not available in existing class table, I then parse its class library info, and check which module contains this requested class. That is, I parse the class library on demand. > Using on-demand class library parsing, I can reduce the VM creation time from 20+ seconds to 3 seconds. > I enable this feature into reading boot class path option, and it can be disabled by using -Xbootclasspath option. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.