I've worked on team projects before when a few classes I've written turned out to be designed in a not-so-efficient manner.
It's a career full of learning from your mistakes, so I have no problems if someone points out bad code. I'd rather swallow my pride and learn something new to become much more efficient in the future than try to keep some type of ego, deny a problem exists, only to pass up the opportunity to learn what I did wrong and why it was wrong to begin with.
It also depends on how you present it. Personally, I'd just go over the code with him step by step and point out why your method was more efficient.
The guy needs to chill out a bit
You can also generally avoid code-revision problems by commenting out why a certain method was done over another. Like the post above me said, sometimes there's more to the picture than meets the eye, but in this case it sounds like you know exactly where the trouble spot is.