Bloated software JDK 1.2

andi@complang.tuwien.ac.at (Andreas Krall)
16 Nov 1999 23:40:42 -0500

          From comp.compilers

Related articles
Bloated software JDK 1.2 andi@complang.tuwien.ac.at (1999-11-16)
Re: Bloated software JDK 1.2 mcdirmid@cs.utah.edu (Sean McDirmid) (1999-11-19)
Re: Bloated software JDK 1.2 news@lvdot.claradot.codot.uk (1999-11-19)
Re: Bloated software JDK 1.2 joerg.brunsmann@FernUni-Hagen.de (Joerg Brunsmann) (1999-11-19)
| List of all articles for this month |

From: andi@complang.tuwien.ac.at (Andreas Krall)
Newsgroups: comp.lang.java.machine,comp.compilers
Date: 16 Nov 1999 23:40:42 -0500
Organization: Vienna University of Technology, Austria
Keywords: Java, practice

We nearly finished the porting of the CACAO JVM from JDK 1.0.2 to JDK
1.2. CACAO loads the transitive closure of all referenced classes
(which gives more room for optimizations if no dynamic class loading
is used like class hierarchy analysis, elimination of sychronization
for single threaded programs, more efficient run time type checking,
...). This scheme worked very well for the JDK library 1.0, but gives
unnecessary high load times for JDK 1.2. We evaluated a small java
program which reads a text file and transposes the lines (write lines
in columns). The transitive closure of referenced classes was 78 in
JDK 1.0 versus 614 in 1.2, 18 classes have been initialized at run
time with JDK 1.0, 70 needed initialization in JDK 1.2. So I have two
questions:


1) How can we force SUN to write leaner libraries.
2) How are the efforts going on of developing open source Java libraries.


Andi


P.S: If you compare the following data I just want to mention that we
improved the loader by a factor of three for CACAO with JDK 1.2. So
the real effect of JDK 1.2 would be three times worse.


JDK 1.0:


LOG: Number of class loads: 78
LOG: Number of class inits: 18
LOG: Number of loaded Methods: 749
LOG: Size of Code Area (Kb): 19.281
LOG: Size of data Area (Kb): 5.555
LOG: Size of Class Infos (Kb): 107.766
LOG: Size of Const Pool (Kb): 134.747
LOG: Size of Vftbl (Kb): 16.109
LOG: Size of comp stub (Kb): 15.234
LOG: Size of native stub (Kb): 8.508
LOG: Size of Unicode (Kb): 62.152
LOG: Size of VMCode (Kb): 35.355(22722)
LOG: Size of ExTable (Kb): 0.148
LOG: Number of JitCompiler Calls: 62
LOG: Number of compiled Methods: 41
LOG: Number of max basic blocks per method: 31
LOG: Number of compiled basic blocks: 143
LOG: Number of max JavaVM-Instructions per method: 1637
LOG: Number of compiled JavaVM-Instructions: 2436
LOG: Size of compiled JavaVM-Instructions: 4814(4076)
LOG: Size of compiled Exception Tables: 56
LOG: Value of extended instruction set var: 0
LOG: Number of Alpha-Instructions: 4936
LOG: Number of Spills: 6
LOG: Time for loading classes: 0 secs, 55 millis
LOG: Time for compiling code: 0 secs, 4 millis
LOG: Time for running program: 0 secs, 76 millis
LOG: Total time: 0 secs, 135 millis




JDK 1.2:


LOG: Number of class loads: 614
LOG: Number of class inits: 70
LOG: Number of loaded Methods: 6046
LOG: Size of Code Area (Kb): 32.562
LOG: Size of data Area (Kb): 11.523
LOG: Size of Class Infos (Kb): 929.516
LOG: Size of Const Pool (Kb): 1538.099
LOG: Size of Vftbl (Kb): 189.617
LOG: Size of comp stub (Kb): 136.383
LOG: Size of native stub (Kb): 31.922
LOG: Size of Utf (Kb): 539.422
LOG: Size of VMCode (Kb): 380.264(280562)
LOG: Size of ExTable (Kb): 5.180
LOG: Number of JitCompiler Calls: 207
LOG: Number of compiled Methods: 134
LOG: Number of max basic blocks per method: 38
LOG: Number of compiled basic blocks: 527
LOG: Number of max JavaVM-Instructions per method: 960
LOG: Number of compiled JavaVM-Instructions: 3984
LOG: Size of compiled JavaVM-Instructions: 9214(6802)
LOG: Size of compiled Exception Tables: 272
LOG: Value of extended instruction set var: 1
LOG: Number of Alpha-Instructions: 8336
LOG: Number of Spills: 103
LOG: Time for loading classes: 0 secs, 242 millis
LOG: Time for compiling code: 0 secs, 6 millis
LOG: Time for running program: 0 secs, 113 millis
LOG: Total time: 0 secs, 362 millis


--
andi@complang.tuwien.ac.at Andreas Krall
http://www.complang.tuwien.ac.at/andi/ Inst. f. Computersprachen, TU Wien
tel: (+431) 58801/18511 Argentinierstr. 8/4/1851
fax: (+431) 58801/18598 A-1040 Wien AUSTRIA EUROPE


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.