A class browser lets the programmer navigate the code not as a set of source-code files but as a set of classes and methods. Inclusion of a source and class browser is important for large projects, especially for programmers who inherit responsibility for a large code base with which they are not intimately familiar. Most source debuggers included today are very capable and offer all the commonly required features, but there are sticking points. The ability to debug multithreaded code is important and not always provided. Compilation speed, and the size and speed of the resulting executable, has been a major area of competition.
Some vendors specialize in creating hyperoptimized code for a specific processor.
The larger your code base, the more important compilation speed becomes. The best news on this front is that many compilers support precompiled headers, where the header files are predigested into a binary format for much faster compile times. Another innovation is incremental linking, though this has less impact than precompiled headers. Likewise, having a good profiler in the environment may do more for speed of execution than any compiler optimization. If you need to develop a GUI with your project, look for an environment with visual forms-based development.