¿Era ese libro muy viejo? ¿De qué arquitectura estaba hablando? RISC? CISC?
De todos modos, aparte de eso, la resta y la suma deberían tomar la misma cantidad de tiempo. Cada arquitectura que se me ocurre tiene una instrucción incorporada para sumar y restar. Además, el hertz de su procesador determina cuánto tiempo tardan las instrucciones. Cada instrucción no es necesariamente un solo ciclo de reloj, pero tengo problemas para imaginar por qué un circuito tomaría un número diferente de ciclos para sumar y restar.
La única razón por la que podría pensar que la resta está optimizada para ser un poco más rápida que la suma es porque se espera que se use para implementar la igualdad. Cuando compara dos números, las instrucciones comunes son cargar a y b en los registros, restar b de a y poner eso en un registro, y luego mover el contador del programa si el registro resultante es cero. La alternativa es cargar a y b, xor a y b, luego mover el contador del programa si el registro es cero. Pero realmente depende de si la instrucción XOR o SUB toma menos ciclos en la arquitectura actual, de lo contrario no hay razón para preocuparse.
- ¿Cuál es la diferencia entre un gráfico y un árbol en estructuras de datos y algoritmos?
- Cómo usar lower_bound para buscar una cadena en una estructura vectorial
- ¿Qué algoritmos se utilizan para construir árboles filogenéticos?
- ¿Cuál es el elemento más pequeño / más grande en el código Java?
- ¿Es la calificación de revisión un factor en el algoritmo de 'Yelp Sort' de Yelp?
Entonces, básicamente, tal vez hay algunas arquitecturas donde este es el caso. Pero solo hará la más mínima diferencia si está trabajando con ensamblaje y de alguna manera podría sustituir la suma por la resta en su algoritmo.