Right now there is a trade off between the richness and extensibility of the Gradle build language and the time it takes to configure the build. Every time you execute a Gradle build everything is configured, regardless of what command you are finally going to execute. Additionally the build model that is constructed, is not persisted to disk or kept in memory across builds. The current configuration model does not give us the insights to reliably configure less and reliably re-use the model. For larger projects this can mean a delay before the actual build execution starts. It also affects IDE integration. Android Studio demonstrates the enormous power of Gradle to provide a deep integration between the IDE and the build system. Such a deep integration involves high frequent queries from the IDE to the build system where the current configuration time does not provide the instantaneous responsiveness we would like to see.
Additionally, the new configuration model will allow us to do 100% reliable parallel configuration.