Practical experience with an application extractor for Java

Practical experience with an application extractor for Java
复制标题

Java 应用程序提取器的实践经验

DOI:
10.1145/320384.320414
复制
发表时间:
1999
期刊:
Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子:
--
通讯作者:
D. Streeter
D. Streeter
中科院分区:
--
文献类型:
--
作者:
F. Tip;C. Laffra;P. Sweeney;D. Streeter

文献摘要

被引文献

相似文献

Java程序通常通过压缩类文件档案(即zip文件和JAR文件)在低频带网络连接上进行传输涉及使用程序转换,例如删除死亡方法和字段,方法是插入方法调用以及简化类层次结构以减少应用程序的规模通常认为,“提取”技术对于使用类库的应用程序特别有用,因为通常只使用“删除”库的功能JAX中的应用提取技术的数量,一种用于Java的应用提取器,并评估其在27至2,332不等的一组现实基准测试中的有效性课程(档案范围为56,796至3,810,120字节)。
Java programs are routinely transmitted over low-bandwidth network connections as compressed class file archives (i.e., zip files and jar files). Since archive size is directly proportional to download time, it is desirable for applications to be as small as possible. This paper is concerned with the use of program transformations such as removal of dead methods and fields, inlining of method calls, and simplification of the class hierarchy for reducing application size. Such “extraction” techniques are generally believed to be especially useful for applications that use class libraries, since typically only a small fraction of a library's functionality is used. By “pruning away” unused library functionality, application size can be reduced dramatically. We implemented a number of application extraction techniques in Jax, an application extractor for Java, and evaluate their effectiveness on a set of realistic benchmarks ranging from 27 to 2,332 classes (with archives ranging from 56,796 to 3,810,120 bytes). We report archive size reductions ranging from 13.4% to 90.2% (48.7% on average).