Which is more efficient, raycast, get distance to x, or using collision?

Collision should inherently be far more efficient, than any form of polling, i.e. raycast to x