My approach to performance tweaking is simple… defer it as long as possible ! There are two main problems when worrying about performance, first until the system is completed, you cannot say for sure where the biggest and worst bottlenecks are going to occur. Second, that in order to be able to successfully do any performance tweaking, you must be able to measure that what you are changing actually improves performance. If you’re developing a real time life critical system then this doesn’t apply to you, but I’m assuming this doesn’t apply to most people.
In all performance optimizations you need to test and verify the results. Different techniques will improve and reduce quality in different languages and environments. Just because your tweak worked in VB doesn’t mean it will improve performance in C#. The only way to prove this is to TEST!