I've tried to make my c++ source files small in my current project. Compiling my approx. 20 files takes very long time. I created a new source file that just includes all my original ones with #include statements, and compiled it. This method was much quicker. Compiling all files included in one takes approx. double the time compared to that of compiling just one of the small source files. So If I make a change to some header that is included by many of the source files, the last described method that includes the files to one is much faster. It seems there is a lot of compilation time overhead if the code is compiled in many small parts - this is without taking linking into account. Is there any settings or some trick that can reduce this overhead, except my ugly inclusion method? This is the command executed per source file, created by autoconf: g++ -DHAVE_CONFIG_H -I. -I.. -DPACKAGE_LOCALE_DIR=\""/usr/local//locale"\" -DPACKAGE_SRC_DIR=\""."\" -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -I/usr/include/opencv -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/local/include/ltilib -D_GNU_SOURCE -fpic -D_DEBUG -g -O2 -MT pick-vertex-manipulator.o -MD -MP -MF .deps/pick-vertex-manipulator.Tpo -c -o pick-vertex-manipulator.o pick-vertex-manipulator.cpp Which is essentially after removing unimportant stuff: g++ -DHAVE_CONFIG_H -D_GNU_SOURCE -fpic -D_DEBUG -g -O2 -MT pick-vertex-manipulator.o -MD -MP -MF .deps/pick-vertex-manipulator.Tpo -c -o pick-vertex-manipulator.o pick-vertex-manipulator.cpp Thank you! -- View this message in context: http://www.nabble.com/Slow-compilation-with-many-files-tp16691342p16691342.html Sent from the gcc - Help mailing list archive at Nabble.com.