|MAXIMIZING APPLICATION PERFOMANCE THROUGH INTER-PROCEDURAL OPTIMIZATION WITH THE PATHSCALE EKO COMPILER SUITE
by Dr. Fred Chow
Director of Compiler Engineering
Developers are constantly seeking new ways to improve application performance. While architecture and algorithms are important factors, development tools can also have a significant impact on application performance. Traditional compilers perform separate compilation on each program source file, forcing them to make worst-case assumptions that result in poor application performance. Developers need more sophisticated tools that can take advantage of all program information to better apply analysis and optimization techniques and create high performance applications.
|AUTOMATED APPLICATION TUNING
One persistent source of frustration in a busy production environment is choosing the set of compiler options that produces the highest performance for a given application. The ideal compiler would always get the best performance possible when the -Ofast compiler flag was used. Much effort is spent to procure the fastest hardware that the budget will allow: high-performance 64-bit CPUs, fast interconnects, and low-latency memory seem to be at the top of the shopping list. What is surprising is how little effort is spent on optimizations and efficiency testing.
PathScale has created a tool to use that iteratively tests different options and option combinations by running the compiler on your set of files, tracking the results, and providing an answer.