The tool, GCC, is a compiler that converts a program’s source code into binary instructions a computer can understand. The company that produces GCC, CodeSourcery, plans to release an updated version on April 15 that will allow for a more sophisticated translation of commands written in high-level languages such as C, according to GCC 4.0 release manager Mark Mitchell.
“The primary purpose of 4.0 was to build an optimization infrastructure that would allow the compiler to generate much better code.” Mitchell told technology resource site CNETNews.com.
While compiler technology is not well known to average users, the announcement should be welcome news to open-source programmers because more sophisticated GCC translation can dramatically enhance the performance of applications such as Linux, Firefox, OpenOffice.org and Apache.
For example, version 4.0 will add an optimization called “scalar replacement and aggregates” that lets GCC locate data structures that span large amounts of source code, then break the objects into smaller components that can be stored in chip memory, rather than main memory, in effect allowing for faster execution.
“Optimization is being built to give the compiler the ability to see the big picture,” Mitchell said.
GCC 4.0 also introduced a security feature called Mudflap, which adds extra features to the compiled program to check for buffer overruns.
Perhaps even more significantly, GCC is a crucial component in the fragile framework of cooperative software development, so any advances could also help lead to wider adoption of open source as a programming environment.
GCC is a general-purpose compiler that handles programs written in C, C++, Java, Fortran, Pascal, Objective-C and Ada. It can generate software for processors including x86 models such as Pentium and Opteron, Sun's Sparc, Hewlett-Packard's PA-RISC, IBM's Power and mainframe processors, Intel's Itanium, MIPS, ARM, Hitachi's SuperH and Motorola's 68000 series.
“The promise of GCC has been portability and cross-platform support over speed,” commented Stephen O’Grady of analyst firm RedMonk. However, O’Grady warned that upgrading GCC may come with certain costs, including lack of compatibility with some software the tool presently supports.
“If they can achieve the very difficult goal of not damaging that cross-platform compatibility and backwards compatibility, and they can bake in some optimizations that really do speed up performance, the implications will be profound,” O’Grady said.