Quando você programa em assembler (código de máquina), você sabe quantos ciclos de cpu usam cada instrução, para que você saiba com antecedência quanto tempo levará uma rotina.
No entanto, se você usar uma linguagem de alto nível que é compilada (uma compilação é uma tradução para código de máquina), então é mais incerto quanto tempo um processo pode levar. Além disso, há uma dependência da capacidade do compilador de otimizar o código final de acordo com o tipo de CPU usado.
Código não otimizado significa mais ciclos de CPU para realizar a mesma tarefa.