harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject [vm] Implement on-demand class library parsing to avoid unnecessary jar/zip parsing during startup (HARMONY-6039)
Date Wed, 10 Dec 2008 10:50:14 GMT
This is cool.

Wenlong Li (JIRA) wrote:
> 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.

Agreed.

> 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.

Its good to see the manifest information being used at runtime.

So as I understand it, you are not looking to provide any isolation
between modules, just using the metadata to direct the search path.

> Using on-demand class library parsing, I can reduce the VM creation
> time from 20+ seconds to 3 seconds.

Wow, that's remarkable.  Is ZIP file directory performance really that bad?

I'm assuming that it is multiple VM creations (it doesn't take 20s to
invoke the VM usually!)  And that is still opening and reading the
manifest from each JAR?

I assume we could improve that by consolidating that metadata into a
file with faster access.

> I enable this feature into reading boot class path option, and it can
> be disabled by using -Xbootclasspath option.

Regards,
Tim

Mime
View raw message