Assume we have TINGEN, a multi-core mobile processor. As writing an application in assembly language for the certain device, we have two selections concerning code optimization.
Option A: Do essential optimization steps before and then write the code.
Option B: First code the program in a normal way and then make necessary changes in order to optimize it.
Can we prefer any approach over the other or both are acceptable?