Size Matters: Reducing the Size of Java Class File Archives

        Java programs are routinely transmitted over low-bandwidth network connections as compressed class file archives (i.e. zip files and jar files). The size of an archive has a direct impact on the time required to download a program, and therefore on browser response time for web pages that contain Java applets. Archive size also affects the initialization time required by Java virtual machines ("class loading"). This paper is concerned with the use of compiler-optimization techniques and program transformations for reducing the size of archives. We implemented several optimizations in the context of Jax, an application extractor for Java, and evaluate their effectiveness on a set of realistic benchmarks ranging from 12 to 2050 classes (the corresponding archives range from 13,312 to 5,710,539 bytes). We measured a reduction in archive size between 30.1% and 84.0%.

By: Frank Tip, Chris Laffra, Peter F. Sweeney, David Streeter

Published in: RC21321 in 1998

This Research Report is not available electronically. Please request a copy from the contact listed below. IBM employees should contact ITIRC for a copy.

Questions about this service can be mailed to reports@us.ibm.com .