I doubt it speeds up compile time on subsequent builds, as any change in one part of the project means that everything has to be recompiled.
This is apparently the same approach taken in the Plan9 source code to reduce compile times, and by basically any language with a module system (except module systems allow you to give the dependencies in each file).