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
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;
Conference_Titel :
Interaction between Compilers and Computer Architectures, 2005. INTERACT-9. 9th Annual Workshop on
Print_ISBN :
0-7695-2321-8
DOI :
10.1109/INTERACT.2005.10