[cfe-dev] Separate preprocess and compile: hack or feature?

Boris Kolpackov via cfe-dev cfe-dev at lists.llvm.org
Thu May 11 23:36:07 PDT 2017


Hi Reid,

Reid Kleckner <rnk at google.com> writes:

> It's still an issue, because you will end up sending the pre-processed file
> over the network. Time has shown that the transitive include closure of a
> C++ file scales linearly with the size of the codebase, so the bigger the
> project, the more time you spend sending 10MB .ii files over the wire.

True. You can probably get /5 reduction by compressing it with something
cheap like lzo so that gives ~50 .ii files/sec over 1Gbps link.

Also, isn't there the same problem with getting the object files shipped
back? Here are some quick numbers I got from one of the "heavier" TU in
build2:

target.i      5MB (-E -frewrite-includes)
target.i.lzo  1MB

target.o      3MB
target.o.lzo  1MB

Thanks,
Boris



More information about the cfe-dev mailing list