Some compilers, such as Borland C++ and Microsoft C++, support precompiled headers. This can save a great deal of compiling time. The recommended approach is to precompile "wx.h'', using this precompiled header for compiling both wxWindows itself and any wxWindows applications. For Windows compilers, two dummy source files are provided (one for normal applications and one for creating DLLs) to allow initial creation of the precompiled header.
However, there are several downsides to using precompiled headers. One is that to take advantage of the facility, you often need to include more header files than would normally be the case. This means that changing a header file will cause more recompilations (in the case of wxWindows, everything needs to be recompiled since everything includes "wx.h''!)
A related problem is that for compilers that don't have precompiled headers, including a lot of header files slows down compilation considerably. With Borland C++ it's possible to use pragmas and conditional compilation to include "wx.h'' under Windows and a smaller number of files under UNIX, but conditional compilation of the main header file isn't allowed by Microsoft C++, and so you're typically stuck with lightning fast compilation under Windows and treacle-slow compilation using less intelligent UNIX compilers. The right balance obviously depends on the habits of the individual developer.