Review request: exports runtime support + jdk modules converted to use exports
Alan Bateman
Alan.Bateman at oracle.com
Fri Jun 10 06:34:23 PDT 2011
Mandy Chung wrote:
> An update on the analysis:
>
> I instrumented the simple library. This single context's name itself
> takes up 80% of the config file size (~75M).
>
> +jdk.boot+sun.charsets+sun.compat+sun.corba+sun.desktop+sun.ext+sun.instrument+sun.jaas+sun.jaxp+sun.jdbc+sun.jndi+sun.jsse+sun.jta+sun.kerberos+sun.localedata+sun.logging+sun.management+sun.resources+sun.rmi+sun.security.acl+sun.sunec
>
>
> count per-string bytes total bytes
> 327099 235 76868265
>
> Each context contains a map from a remote class name to a context's name.
> When the map's key is changed from package name to a class name, the
> number of context's name is thus significantly increased. A simple
> fix would be using an integer as the context ID and storing the name
> only once.
>
> Top 15 strings with the highest total of bytes in the config file:
> count bytes total contexts name
> 327099 235 76868265 41
> +jdk.boot+sun.charsets+sun.compat+sun.corba+sun.desktop+sun.ext+sun.instrument+sun.jaas+sun.jaxp+sun.jdbc+sun.jndi+sun.jsse+sun.jta+sun.kerberos+sun.localedata+sun.logging+sun.management+sun.resources+sun.rmi+sun.security.acl+sun.sunec
>
> 5550 16 88800 1 sun.desktop at 7-ea
> 4121 10 41210 11 +jdk.javac
> 3722 10 37220 6 +sun.jaxws
> 3467 13 45071 1 jdk.boot at 7-ea
> 3325 14 46550 1 jdk.tools at 7-ea
> 2502 13 32526 1 sun.jaxp at 7-ea
> 2405 14 33670 1 sun.jaxws at 7-ea
> 1677 14 23478 1 sun.corba at 7-ea
> 1441 20 28820 1 jdk.tools.jaxws at 7-ea
> 801 13 10413 9 +jdk.compiler
> 768 14 10752 1 jdk.javac at 7-ea
> 558 19 10602 1 sun.management at 7-ea
>
> Total number of strings in the config file is 729694 but 26185
> unique strings. Total bytes occupied by these strings is 91839030.
>
> The strings created in the configuration includes
> context's name
> module's name at version
> module library path
> class name
>
> There is other opportunity for optimization. For example, for each class
> from jdk.boot, there are 40 copies in the config as one in each remote
> map
> of each context and there are 40 contexts requiring it.
>
> Mandy
>
For the current problem then adding indirection for the context name
should do it. If you are anxious to get the exports work completed then
this could be separated from other optimization work.
-Alan
More information about the jigsaw-dev
mailing list