【24h】

Heap Profiling for Space-Efficient Java

机译:节省空间的Java的堆分析

获取原文

摘要

We present a heap-profiling tool for exploring the potential for space savings in Java programs. The output of the tool is used to direct rewriting of application source code in a way that allows more timely garbage collection (GC) of objects, thus saving space. The rewriting can also avoid allocating some objects that are never used. The tool measures the difference between the actual collection time and the potential earliest collection time of objects for a Java application. This time difference indicates potential savings. Then the tool sorts the allocation sites in the application source code according to the accumulated potential space saving for the objects allocated at the sites. A programmer can investigate the source code surrounding the sites with the highest savings to find opportunities for code rewriting that could save space. Our experience shows that in many cases simple code rewriting leads to actual space savings and in some cases also to improvements in program runtime. Experimental results using the tool and manually rewriting code show average space savings of 18% for the SPECjvm98 benchmark suite. Results for other benchmarks are also promising. We have also classified the program transformations that we have used and argue that in many cases improvements can be achieved by an optimizing compiler.
机译:我们提供了一个堆分析工具,用于探索Java程序中节省空间的潜力。该工具的输出用于指导应用程序源代码的重写,从而可以更及时地对对象进行垃圾回收(GC),从而节省空间。重写还可以避免分配一些从未使用过的对象。该工具测量Java应用程序的实际收集时间与对象的潜在最早收集时间之间的差。该时间差表明可以节省。然后,该工具根据为站点分配的对象所累积的潜在空间节省,在应用程序源代码中对分配站点进行排序。程序员可以调查节省成本最高的站点周围的源代码,以找到可以节省空间的代码重写机会。我们的经验表明,在许多情况下,简单的代码重写可节省实际空间,并且在某些情况下,还可以改善程序的运行时间。使用该工具和手动重写代码的实验结果表明,SPECjvm98基准测试套件平均节省了18%的空间。其他基准测试的结果也很有希望。我们还对所使用的程序转换进行了分类,并认为在许多情况下,优化编译器可以实现改进。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号