It mainly depends on how you code. If you write an inefficient app, it will be inefficient regardless of language.
That said, C++/DirectX are empirically the faster pairing, as these are much lower-level than C# (which runs atop a large framework with substantial overhead) and XNA (which runs atop a smaller framework that runs atop the same framework as C#). Again, you can write two functionally similar applications, and get worse performance in a C++/DirectX app than with a C#/XNA app.
In either case, if you're worried about performance, and are a lone-wolf or small-time indie developer, then you're worried about something that really doesn't matter.
