Querying cloud provider API’s takes a while. It can be done, but the results are cached afterwards, which is the state file.
Refreshing the state file (and reconciling differences) also uses the cloud provider API’s. I don’t think we’re going to get better than that.
Unless someone makes a common standard for resource reporting that all cloud providers implement.