¿Cuál es la operación que tiene la constante más pequeña?

Diferentes arquitecturas tienen diferentes costos para diferentes operaciones. Entonces, aunque es tentador dejar esto como “depende”, podemos dar algunos ejemplos específicos.

En la máquina virtual Ethereum, cada operación tiene un costo de “gas”. Esto se traduce en cuánto ETH debe pagar para ejecutar esa instrucción. Dicha especificación es mucho más precisa que casi cualquier otra arquitectura de instrucción que exista al describir el costo, pero el costo no está relacionado con el tiempo. (El tiempo para ejecutar un contrato inteligente se basa en la disposición a pagar y el tiempo de respuesta de los mineros). Https://bravenewcoin.com/assets/… (consulte el Apéndice G.) Las instrucciones de menor costo en EVM son STOP, SUICIDE y SSTORE (cuando el valor establecido no era cero, pero está establecido en cero). Todos tienen un costo de 0.

En arquitecturas informáticas reales, las operaciones tienen costos de ciclo, medidos en la velocidad del reloj en la CPU. Algunas arquitecturas son más predecibles que otras. Una CPU moderna x86 realiza todo tipo de canalizaciones y captaciones previas que hacen que sea muy difícil hablar con certeza sobre el rendimiento. Las operaciones de “costo más bajo” son probablemente las operaciones SIMD que proporcionan múltiples resultados por operación. Por ejemplo, PADDB (suma empaquetada de enteros de 8 bits) en operandos de 128 bits realiza 16 adiciones, tiene una latencia de 1 ciclo y un “rendimiento” de 1/3 en los procesadores Intel Skylake. Eso significa que se pueden emitir tres adiciones por ciclo, y todas terminarán en el próximo ciclo. Eso es un total de 48 adiciones de 8 bits por ciclo, o “1/48 de un ciclo por adición”. No creo que podamos hacerlo mejor que eso … a menos que pongamos nuestra GPU a trabajar.

Por otro lado, la mayoría de los microcontroladores siguen siendo muy simples. Por ejemplo, casi todas las instrucciones en un PIC requieren cuatro ciclos de CPU. Por lo tanto, hay una larga lista de instrucciones de “costo mínimo” en esa arquitectura. (Pero los PIC generalmente se ejecutan a frecuencias de MHz, no a GHz, así que …)