DocumentCode
3080302
Title
Optimizing structures in object oriented programs
Author
Chen, Kaiyu ; Chan, Sun ; Ju, Roy Dz-ching ; Tu, Peng
Author_Institution
Dept. of Electr. Eng., Princeton Univ., NJ, USA
fYear
2005
fDate
13 Feb. 2005
Firstpage
94
Lastpage
103
Abstract
In this paper we demonstrate that effective structure optimization is essential to improve code quality and reduce compilation overhead for object-oriented programs. We propose to address this problem by using an effective representation of structure operation, folding indirect memory accesses to structure fields, flattening structures judiciously, and allowing more aggressive procedure inlining. These techniques enable the existing scalar optimizations, which were well tuned for the traditional imperative languages, to work effectively on object-oriented programs, allowing them to make better use of the performance enhancing-features available on modern processors. We have implemented this strategy in an SSA based global optimization framework in the Open Research Compiler, targeting the Itanium Processor Family. The experimental results with representative C++ benchmarks show that the applications´ performance can be improved significantly. For instance, Eon´s performance is improved by 35.6%, while the execution time of the Stepanov benchmark is reduced by a factor of 24.
Keywords
C++ language; object-oriented programming; optimising compilers; program control structures; C++ benchmark; Itanium Processor Family; Open Research Compiler; indirect memory accesses; object-oriented program; procedure inlining; program compiler; structure optimization; Bridges; Computer languages; Constraint optimization; Data encapsulation; Educational institutions; Optimizing compilers; Performance gain; Program processors; Software design; Sun;
fLanguage
English
Publisher
ieee
Conference_Titel
Interaction between Compilers and Computer Architectures, 2005. INTERACT-9. 9th Annual Workshop on
ISSN
1550-6207
Print_ISBN
0-7695-2321-8
Type
conf
DOI
10.1109/INTERACT.2005.10
Filename
1423144
Link To Document