16 Nov 1999 23:40:42 -0500

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

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.