A Study and Analysis of Compiler Optimization

Authors : Prathibha A. Ballala , Dr. Sarojadevi H.

Abstract

Advances in computer hardware especially processor technology is a major challenge for compiler designers. The changing scenario of machines with multiple processing elements, multi-core processors etc, requires optimization techniques that can generate machine code for efficient utilization of cores. The general focus of metrics in a compiler is execution time and size of code generated. Optimization techniques incorporated in compilers help in achieving one or both the goals. More recently there is a shift in focus towards reduction in power/energy consumption via hardware and software for a wide variety of applications. Compiler optimization can contribute towards improved execution time, decrease in code size and reduction in power consumption. This paper presents an experimental analysis of optimization switches available in the gcc compiler, carried out on both the sequential and parallel versions of the quick sort program. The results indicate better execution time of parallel quick sort program using openMP constructs. For an input size of 2000K data values the improvement in execution time ofparallel code as compared to sequential code is 62.5 percent due to better utilization of the cores.

Keywords : Compiler Optimization, Parallel programming, Data locality, Pareto-optimal /span>