Make Large Metadata Configuration Changes
Metadata API deploy() and retrieve() calls are file-based and therefore asynchronous. With synchronous commands, large configuration changes require unreasonably long load times. Instead, deploy and retrieve calls begin an asynchronous process that notifies you when it’s complete. Because file-based calls are asynchronous, Metadata API can also handle a queue of deploy requests.