Contamos que la única medida fiable y consistente del rendimiento es el tiempo de ejecución de los programas reales, y que las demás alternativas propuestas al tiempo como métrica o a los programas reales como «items» medidos han conducido, eventualmente, a afirmaciones erróneas o incluso a errores en el diseño de las computadoras. Primero se muestran los peligros de algunas alternativas populares a nuestra advertencia.
Una alternativa al tiempo como métrica son los MIPS (millones de instrucciones por segundo). Para un programa dado, los MIPS son sencillamente:

Algunos encuentran adecuada la fórmula de más a la derecha, ya que la frecuencia de reloj es fija para una máquina y el CPI, habitualmente, es un número pequeño, de forma distinta a la cuenta de instrucciones o al tiempo de ejecución. La relación de los MIPS con el tiempo es:

Como los MIPS son una frecuencia de operaciones por unidad de tiempo, el rendimiento puede especificarse como el inverso del tiempo de ejecución, de forma que máquinas más rápidas tendrán una mayor frecuencia de MIPS.
La buena noticia sobre los MIPS es que son fáciles de comprender, especialmente por un cliente, y máquinas más rápidas significan un mayor número de MIPS, lo cual coincide con la intuición. El problema, cuando se utilizan los MIPS como medida para hacer comparaciones, es triple:
- Los MIPS son dependientes del repertorio de instrucciones, lo cual hace difícil la comparación de los MIPS de computadoras con diferentes repertorios de instrucciones;
- Los MIPS varían entre programas en la misma computadora;
- Los MIPS pueden variar inversamente al rendimiento.
El ejemplo clásico, del último caso, es la variación de los MIPS en una máquina con hardware opcional de punto flotante. Como, generalmente, se emplean más ciclos de reloj por instrucción en punto flotante que por instrucción entera, los programas en punto flotante que utilizan el hardware opcional en lugar de las rutinas software de punto flotante emplean menos tiempo, pero tienen una menor frecuencia de MIPS. El software de punto flotante ejecuta instrucciones más simples, dando como resultado una mayor frecuencia de MIPS, pero se ejecuta tantas veces que el tiempo global de ejecución es mayor.
Podemos incluso ver tales anomalías con compiladores optimizados.
Ejemplo
Supongamos que construimos un compilador optimizado para la máquina de carga/almacenamiento con mediciones que se representan en tabla 2.3. El compilador descarta el 50% de las instrucciones de la ALU aunque no pueda reducir cargas, almacenamientos, ni saltos. Ignorando las prestaciones del sistema y suponiendo una duración del ciclo de reloj de 2-ns (frecuencia de reloj 500-MHz) y CPI no optimizado es 1.57. ¿Cuál es la frecuencia en MIPS para el código optimizado frente al código sin optimizar? ¿Está el «ranking» de los MIPS de acuerdo con el «ranking» del tiempo de ejecución?

Mediciones para la maquina de carga/almacenamiento
Respuesta
Sabemos que CPI sin optimizar = 1.57, entonces
MIPS sin optimizar = (500MHz)/(1.57 x 106) = 318.5
El rendimiento de código no optimizado es
Tiempo de CPU sin optimizar = IC sin optimizar x 1,57 x (2 x 10-9) = 3.14 x 10-9 x IC sin optimizar
Para código optimizado:
CPI optimizado = ((0.43/2) x 1+0.21 x 2+0.12 x 2+0.24 x 2)/(1- 0.43/2) =1.73
ya que la mitad de las instrucciones de la ALU están descartadas (0,43/2) y la cuenta de instrucciones se reduce por las instrucciones que faltan de la ALU.
Entonces
MIPS optimizado = 500MHz/(1.73 x 106) = 289.0
El rendimiento del código optimizado es:
Tiempo CPU optimizada = (0,785 x IC sin optimizar ) x 1.73 x (2 x 10-9) =
= 2.72 x 10-9 x IC sin optimizar
El código optimizado es en 3.14/2.72 =1.15 veces más rápido, pero su frecuencia en MIPS es inferior: 289 contra 318.
Ejemplos como éste muestran que los MIPS pueden fallar al dar una visión verdadera del rendimiento, ya que no reflejan el tiempo de ejecución. Para compensar esta carencia, otra alternativa al tiempo de ejecución es utilizar una máquina particular, con una estimación convenida sobre los MIPS, como punto de referencia.
Los MIPS Relativos para una máquina M se define en base de una máquina de referencia como sigue donde

Tiemporeferencia - es tiempo de ejecución de un programa en el máquina de referencia
TiempoM - es tiempo de ejecución del mismo programa en la máquina que se va a medir
MIPSreferencia - es estimación convenida sobre los MIPS de la máquina de referencia
En los años ochenta, la máquina de referencia dominante era la VAX-11/780, que se denominó máquina de 1-MIPS. Si una máquina es mas rápida que la máquina 1-MIPS en caso de ejecución una programa en 5 veces - esta máquina tiene 5 MIPS Relativos.
La pregunta también surge si en la máquina más antigua debe correr las ediciones más modernas del compilador y sistema operativo, o si el software debe fijarse para que la máquina de referencia no sea más rápida a lo largo del tiempo. Existe también la tentación de generalizar de una estimación de los MIPS relativos utilizando un «benchmark» a tiempo de ejecución relativo, aun cuando pueda haber amplias variaciones en el rendimiento relativo.