5043 подписчика
Gradle ускоряет сборку проектов в основном за счет уменьшения объема компиляции (compilation avoidance), делая это только по необходимости. Появляется она если меняется Application Binary Interface (ABI) - публичное API, которое поставляется клиентам.
Вычислить что нужно компилировать можно двумя способами - генерация header JAR (включает только ABI) или сравнением ABI из кода. Первый подход использует Bazel, а второй - Gradle.
Разработчики из Gradle устроили тест скорости комплияции Bazel и Gradle. По тестам подход Gradle намного лучше, особенно когда изменяется ABI, а вот без изменений ABI выигрыш есть, но не такой значительный
Стабилизация Gradle Config Cache в 8.1, переиспользование Java compiler daemon позволили значительно ускорить компиляцию (про расходы ресурсов не говорится)
Около минуты
26 августа 2023