This comes up repeatedly.
My answer is that all the studies I have seen have shown that the difference is trivial in comparison to the actual UI test suite run time.
For example when the run time is 5 minutes for a UI test, the fact that one selector approach over another is more efficient is still usually on the order of differences under 1 second.
So really, it's the age old problem #2 (of 2) in computer science - Avoid Premature Optimization
If the speed of locator is an actual, real demonstrable and significant problem then use an approach to address it.
Again, don't compare x to y without considering the bigger picture (in this case overall run time). It probably doesn't matter if x is 300% faster than y if both add up to less than a second on a suite that runs for minutes.
The need for code to be readable - and css is usually more readable by humans in my experience - outweighs minor differences in performance.
Difference Between CSS and XPATH