Bazel is fast
Bazel knows exactly what input files each build command needs, avoiding unnecessary work by re-running only when the set of input files have changed between each build. It runs build commands with as much parallelism as possible, either within the same computer or on remote build nodes. If the structure of build allows for it, it can run thousands of build or test commands at the same time. This is supported by multiple caching layers, in memory, on disk and on the remote build farm, if available. At Google, we routinely achieve cache hit rates north of 99%.Bazel is correct
Bazel ensures that your binaries are built only from your own source code. Bazel actions run in individual sandboxes and Bazel tracks every input file of the build, only and always re-running build commands when it needs to. This keeps your binaries up-to-date so that the same source code always results in the same binary, bit by bit. Say goodbye to endlessmake clean invocations and to chasing phantom bugs
that were in fact resolved in source code that never got built.