Use more efficient emptiness check

Using empty() instead of size() can be faster. size() can take linear time but empty() is guaranteed to take constant time.