Review of the code and design documents is one of the best ways for optimisation.
Review may be done from any of three criteria (size, memory, performance) point of views or taking into account two or three criteria (in this case customer specifies a priorities).
As a result we provide a list of issues and recommendations about their resolving. We can implement, debug and test proposed fixes as well.