Java Cold Method Refactoring

We discuss the techniques and benefits of migrating the bodies of loaded, but unused (cold), Java methods to secondary classes which need not be loaded, thus reducing the amount of resources required for Java class loading, storage and verification. The migration is done using binary refactoring of compiled Java classes. We tested two popular applications and showed that under certain conditions we can attain 8% benefit to start up time and almost 7% reduced memory consumption. Benefits were also demonstrated for page faults and working set. We further identify the attributes of class libraries and applications which can affect the benefits of our cold method refactoring.

By: David A. Wood; Bill Tracey

Published in: RC24827 in 2009

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc24827.pdf

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