Date: Sat, 9 Feb 2019 16:25:55 +0000
>
> I think the clang modules design makes it somewhere between hard and
> impossible for these kinds of tools to work well with them. Support for
> distributed builds is one of my major concerns with modules.
I'm unsure about concurrent builds in general with modules. The extra
dependency edges induced by needing to compile, or at least somewhat parse,
a module before its clients enforce a more sequential model than the
header/source separation does.
I have a suspicion that my codebase is sufficiently coupled that modules
will bring the maximum build concurrency down to within the core count of a
single server, at which point icecc won't be necessary.
This does however mean that the performance gain from modules has to be
spectacular to beat the ccache+icecc system overall.
> I think the clang modules design makes it somewhere between hard and
> impossible for these kinds of tools to work well with them. Support for
> distributed builds is one of my major concerns with modules.
I'm unsure about concurrent builds in general with modules. The extra
dependency edges induced by needing to compile, or at least somewhat parse,
a module before its clients enforce a more sequential model than the
header/source separation does.
I have a suspicion that my codebase is sufficiently coupled that modules
will bring the maximum build concurrency down to within the core count of a
single server, at which point icecc won't be necessary.
This does however mean that the performance gain from modules has to be
spectacular to beat the ccache+icecc system overall.
Received on 2019-02-09 17:26:04