Abstract
Optimizing compilers are vital for performance. However, compilers ability to optimize aggressively is limited in some cases. To address this limitation, we have developed a compiler guiding the programmer in making small source code changes, potentially making the source code more amenable to optimization. This tool can help programmers understand what the optimizing compiler has done and suggest automatic source code changes in cases where the compiler refrains from optimizing. We have integrated our tool into an integrated development environment, interactively giving feedback as part of the programmers development flow.
We have evaluated our preliminary implementation and show it can guide to a 12% improvement in performance. Furthermore the tool can be used as an interactive optimization adviser improving the performance of the code generated by a production compiler. Here it can lead to a 153% improvement in performance, indicating the feasibility of the tool as a performance adviser for a production compiler.
We have evaluated our preliminary implementation and show it can guide to a 12% improvement in performance. Furthermore the tool can be used as an interactive optimization adviser improving the performance of the code generated by a production compiler. Here it can lead to a 153% improvement in performance, indicating the feasibility of the tool as a performance adviser for a production compiler.
Original language | English |
---|---|
Title of host publication | Proceedings - Workshop on Dynamic Compilation Everywhere |
Number of pages | 12 |
Publication date | 2014 |
Publication status | Published - 2014 |
Event | 3rd International Workshop on Dynamic Compilation Everywhere - Vienna, Austria Duration: 21 Jan 2014 → … https://sites.google.com/site/dynamiccompilationeverywhere/home/dce-2014 |
Workshop
Workshop | 3rd International Workshop on Dynamic Compilation Everywhere |
---|---|
Country/Territory | Austria |
City | Vienna |
Period | 21/01/2014 → … |
Internet address |
Keywords
- Compiler design
- Compiler driven feedback
- Automatic refactoring
- Automatic vectorization and parallelization