harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wenlong Li (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-6039) Implement on-demand class library parsing to avoid unnecessary jar/zip parsing during startup
Date Wed, 14 Jan 2009 13:13:02 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-6039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663741#action_12663741

Wenlong Li commented on HARMONY-6039:

Thx, Pavel,

I can move the properties file to vm directory. At this moment, VM knows the java home, so
I follow the way of extract ingluni_path for my idea. That is, I get the java home, and then
hardcode the lib/boot for placing property files. For your suggestion, which place do you
think I can put these files?

Yes, I can only invalidate module changed since last time. I once thought this more aggressive
implementation. I choose current implementation because of complexity. I can further enhance
the idea to make it more useful.

Yes, APR_TRUNCATE can be deleted.

Agree, the buffer size should accurately controled.

Pls note this is just a starting for this patch. I post it here to ask for your comment, which
definitely helps me a lot.

This patch doesn't affect jar entry cache.

Btw, this patch also fixs the problem in Harmony-6072.

Thx. :)

> Implement on-demand class library parsing to avoid unnecessary jar/zip parsing during
> ---------------------------------------------------------------------------------------------
>                 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
> 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.

View raw message