Abstract
Manta is a highly optimizing compiler that translates Java source code to binary executables. In this paper, we discuss four Java-specific code optimizations and their impact on application performance. We assess the execution time of three application kernels, comparing Manta with the IBM JIT 1.3.0, and with C-versions of the codes, compiled with GCC. With all three kernels, Manta generates faster code than the IBM JIT. With two kernels, the Manta versions are even faster than their C counterparts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
G. Antoniu, L. Bougé, P. Hatcher, M. MacBeth, K. McGuigan, and R. Namyst. The Hyperion system: Compiling multithreaded Java bytecode for distributed execution. Parallel Computing, 2001. To appear.
B. Blanchet. Escape Analysis for Object Oriented Languages. Application to Java. In Proc. OOPSLA’99, pages 20–34, Denver, CO, Nov. 1999.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating Array Bounds Checks on Demand. In Proc. ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation (PLDI 2000), pages 321–333, Vancouver, BC, June 2000.
M. Burke, J.-D. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M. Serrano, V.C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalape~no Dynamic Optimizing Compiler for Java. In ACM 1999 Java Grande Conference, pages 129–141, San Francisco, CA, June 1999.
J. Choi, M. Gupta, M. Serrano, V. Sreedhar, and S. Midkiff. Escape Analysis for Java. In Proc. OOPSLA’99, pages 1–19, Denver, CO, Nov. 1999.
J. Dolby. Automatic inline allocation of objects. In Proc. 1997 ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 7–17, June 1997.
R. Fitzgerald, T. Knoblock, E. Ruf, B. Steensgard, and D. Tarditi. Marmot: An optimizing compiler for Java. Technical report 33, Microsoft Research, 1999.
J. Maassen, T. Kielmann, and H.E. Bal. Parallel Application Experience with Replicated Method Invocation. Concurrency and Computation: Practice and Experience, 2001.
J. Maassen, R. van Nieuwpoort, R. Veldema, H.E. Bal, and A. Plaat. An Efficient Implementation of Java’s Remote Method Invocation. In Seventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’99), pages 173–182, Atlanta, GA, May 1999.
S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, 1997.
M. Serrano, R. Bordawekar, S. Midkiff, and M. Gupta. Quicksilver: A Quasi-Static Compiler for Java. In Proc. OOPSLA’00, pages 66–82, Minneapolis, MN, Oct. 2000.
V. Seshadri. IBM High Performance compiler for Java. AIXpert Magazine, Sept. 1997. http://www.developer.ibm.com/library/aixpert.
R.V. van Nieuwpoort, T. Kielmann, and H.E. Bal. Satin: Efficient Parallel Divide-and-Conquer in Java. In Proc. Euro-PAR 2000, number 1900 in Lecture Notes in Computer Science, pages 690–699, Munich, Germany, Aug. 2000. Springer.
B.-S. Yang, S.-M. Moon, S. Park, J. Lee, S. Lee, J. Park, Y.C. Chung, S. Kim, K. Ebcioğlu, and E. Altman. LaTTe: A Java VM Just-in-Time Compiler with Fast and Efficient Register Allocation. In Proc. Int. Conf. on Parallel Architectures and Compilation Techniques (PACT’99), 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Veldema, R.S., Kielmann, T., Bal, H.E. (2001). Optimizing Java-Specific Overheads: Java at the Speed of C?. In: Hertzberger, B., Hoekstra, A., Williams, R. (eds) High-Performance Computing and Networking. HPCN-Europe 2001. Lecture Notes in Computer Science, vol 2110. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48228-8_78
Download citation
DOI: https://doi.org/10.1007/3-540-48228-8_78
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42293-8
Online ISBN: 978-3-540-48228-4
eBook Packages: Springer Book Archive