Performance can be a touchy subject when it comes to programming. For example, some people are absolutley adamant that boxing is the root of all evil. Other people think string concats are a big performance hit.
In reality everything is relative and it all boils down to what context you are talking about. If you are programming on a mobile device, then you will want to optimise more than if you were working on a desktop application.
It usually comes down to a trade off between performance and code elegance. Lets say you made the most wonderfully elegant, maintainable and understandable code base in the world. As soon as we throw in some performance optimizations we start to cloud the code with some possibly counter intuitive, very specialised stuff. If we went to town on optimizing it we could possibly make a performance saving of say 5 or 10 percent, but in the process completley destroy the elegance of the code.
The question is "Is it worth it?".
If performance is absolutley critical for your project, then run a profiler on your code. If you find that 90% of your processor time is being eaten by a particularly inefficient method, then that method is a good candidate for optimization. It's usually not worth chasing low performance benefits unless you are working on a performance critical application.