CI systems don’t understand your code. So caching and concurrency, if used at all, are coarse-grained and must be manually configured. Typically, you must cache and restore huge directories against a manually constructed cache key. This process is prone to error and more time-consuming than simply redoing the cached work. Concurrent jobs must be manually partitioned, which is also error-prone, and each job requires repeated, heavyweight bootstrapping such as cloning the repo and installing tools. As a result, CI typically involves 2-3 huge, expensive cache lookups and expensive concurrent jobs.
Toolchain, on the other hand, understands your code’s structure and dependencies. It can automatically perform thousands of precise, fine-grained cache lookups and run hundreds of distributed processes quickly and correctly, with no laborious manual configuration. With the power of code analysis, Toolchain makes your builds faster and more accurate.