
Ask HN: Are compilation times really a problem nowdays? - entelechy
With modern CPUs mass parallelism, hosted build services, microservices, can&#x27;t we build even large Project quickly?<p>If it compilation times are a problem for you, how did you resolve this issue and how much of an improvement did you have?
======
PaulHoule
It all depends on the project.

Some systems have 45+ min build times. Compilation is part of it, particularly
for C++ system, but a test suite that is slow to run, data-intensive steps,
and bloated code repositories all contribute.

One of the primary motivations behind Google's Go was the slow compile time of
their C++ code base.

In some cases the most fundamental problem is finding the will to deal with
it. With a long build it is still possible to make slow progress. Small
changes might be able to speed up the build somewhat, but there is a lot of
fear that rearchitecting the system to speed the build will fail, waste time,
or otherwise end in tears.

I say rearchitecting because often it is the architecture of the system that
gets in the way of fast builds. For instance, I think of a system that
required automated integration (as opposed to unit) tests because (1) the
system was fragile such that we couldn't trust that a "small" change wouldn't
break the system and (2) there was any real plan for how certain components
fit together, so we were not able to test them in isolation.

------
wyldfire
For large projects, compilation times are still a problem, yes.

Modern mitigations for compilation times include: ccache/sccache, incremental
compilation, precompiled headers, "modules", etc.

------
twobyfour
Mass parallelism and hosted build services only help if you've got money to
spend on them.

Microservices don't help much when building desktop or mobile apps as opposed
to web apps.

If you keep artifacts around, local build times can be short, but often you
want to clean before doing a build to distribute beyond your own
workstation/device. Our iOS app nightly builds regularly take 45-60 min.

------
dClauzel
Yes; I didn’t: we keep drinking coffee waiting.

