When we use gameObject.SetActive(true),will Unity check if this gameobject.activeSelf is true,and avoid the waste of performance.
SetActive is a void function. It returns nothing. So no, ‘true on complete’ or anything. You should use activeSelf or activeInHierarchy to check for status.
Its not really worth worrying about its performance.