Inline Expansion: When and How?
نویسنده
چکیده
Inline function expansion is an optimization that may improve program performance by removing calling sequences and enlarging the scope of other optimizations. Unfortunately it also has the drawback of enlarging programs. This might impair executable programs performance. In order to get rid of this annoying eeect, we present, an easy to implement, inlining optimization that minimizes code size growth by combining a compile-time algorithm deciding when expansion should occur with diierent expansion frameworks describing how they should be performed. We present the experimental measures that have driven the design of inline function expansion. We conclude with measurements showing that our optimization succeeds in producing faster codes while avoiding code size increase.
منابع مشابه
Automatic Parallelization of Object Oriented Models Executed with Inline Solvers
In this work we report preliminary results of automatically generating parallel code from equation-based models together at two levels: Performing inline expansion of a Runge-Kutta solver combined with finegrained automatic parallelization of the resulting RHS opens up new possibilities for generating high performance code, which is becoming increasingly relevant when multi-core computers are b...
متن کاملCapacity expansion of a deteriorating facility under uncertainty
— An optimum single capacity expansion of a deteriorating facility is determined when future demandfor the facility is given by an évolution ofprobability distributions. Several probabilistic détérioration processes are considered and the probability distribution ofafacility's extinction isfound. For practical applications, it is suggested that simulation be used in determining the costs and be...
متن کاملThe E ect of Code Expanding Optimizations on Instruction Cache Design
This paper shows that code expanding optimizations have strong and non-intuitive implications on instruction cache design. Three types of code expanding optimizations are studied in this paper: instruction placement, function inline expansion, and superscalar optimizations. Overall, instruction placement reduces the miss ratio of small caches. Function inline expansion improves the performance ...
متن کاملThe Effect of Code Expanding Optimizations on Instruction Cache Design
This paper shows that code expanding optimizations have strong and non-intuitive implications on instruction cache design. Three types of code expanding optimizations are studied in this paper: instruction placement, function inline expansion, and superscalar optimizations. Overall, instruction placement reduces the miss ratio of small caches. Function inline expansion improves the performance ...
متن کاملThe E ect of Code Expanding
This paper shows that code expanding optimizations have strong and non-intuitive implications on instruction cache design. Three types of code expanding optimizations are studied in this paper: instruction placement, function inline expansion, and superscalar optimizations. Overall, instruction placement reduces the miss ratio of small caches. Function inline expansion improves the performance ...
متن کامل