One of the Gradle fundamentals is to build everything incrementally - in case of GAP, we already got an incremental AEM package building.
The missing part in GAP was the incremental AEM package deployment.
Build ends extremely fast, as there are no new dependent packages to be installed, no new provisioning steps to be executed on AEM instances, and also no changes detected in built AEM packages when comparing with deployed ones.
Still, if any of these changes will be done in future, GAP will detect them automatically and apply a particular change only. All in an automatic and transparent manner.