Compiler Feedback using Continuous Dynamic Compilation during Development

Nicklas Bo Jensen, Sven Karlsson, Christian W. Probst

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

467 Downloads (Pure)

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.
Original languageEnglish
Title of host publicationProceedings - Workshop on Dynamic Compilation Everywhere
Number of pages12
Publication date2014
Publication statusPublished - 2014
Event3rd International Workshop on Dynamic Compilation Everywhere - Vienna, Austria
Duration: 21 Jan 2014 → …
https://sites.google.com/site/dynamiccompilationeverywhere/home/dce-2014

Workshop

Workshop3rd International Workshop on Dynamic Compilation Everywhere
Country/TerritoryAustria
CityVienna
Period21/01/2014 → …
Internet address

Keywords

  • Compiler design
  • Compiler driven feedback
  • Automatic refactoring
  • Automatic vectorization and parallelization

Fingerprint

Dive into the research topics of 'Compiler Feedback using Continuous Dynamic Compilation during Development'. Together they form a unique fingerprint.

Cite this