In the history of computing, optimum programming, or optimum coding is the practice of arranging a computer program's instructions in memory so as to minimize the time the machine spends waiting for instructions.
Without optimum coding, such a machine would spend most of its time idly waiting for instructions and data.
A programmer employing optimum coding would look up the time needed to perform the current instruction, calculate how far the memory system would move in that time, and then place the next instruction for the program at that location.
In the United States, optimum coding was most commonly employed on the IBM 650[2] and the Bendix G-15.
Both machines had optimizing assemblers (SOAP for the IBM, POGO for Bendix) that could automate this task.