so does that mean arduino sketches are really no less efficient code than if I was using pure C?
Yes, any code you write will compile and run just as efficiently as if you were using "pure C." Keep in mind, however, that the arduino libraries (digitalRead, digitalWrite, etc) are not written with efficiency as their primary goal. The library functions provide a useful simplifying abstraction, and like a lot of abstractions, there is some cost. While IMO the cost is not particularly excessive, you can just skip the arduino "built-in" functions if you're after ultimate speed...