The advice I've always been given is that speed optimization is a second step after writing your code in the idiomatic, easy to read and maintain way. The optimization is done after profiling to find out where the real bottlenecks are for your application.