Preguntas con la etiqueta [micro-optimization]
¿Cómo funcionan exactamente los registros parciales en Haswell/Skylake? Escribir AL parece tener una falsa dependencia de RAX y AH es inconsistente
Este bucle se ejecuta en una iteración cada 3 ciclos en Intel Conroe/Merom, con un cuello de botella en imulel rendimiento como se esperaba. Pero en Haswell/Skylake, se ejecuta en
Las ventajas de utilizar registros/instrucciones de 32 bits en x86-64
A veces, gcc usa un registro de 32 bits, cuando yo esperaría que usara un registro de 64 bits. Por ejemplo el siguiente código C: unsigned long long div(unsigned long
¿Probar si un registro es cero con CMP reg,0 vs OR reg,reg?
¿Existe alguna diferencia en la velocidad de ejecución usando el siguiente código? cmp al, 0 je done y lo siguiente: or al, al jz done Sé que las instrucciones JE
¿Cuál es mejor opción para dividir un número entero por 2?
¿Cuál de las siguientes técnicas es la mejor opción para dividir un número entero entre 2 y por qué? Técnica 1: x = x >> 1; Técnica 2: x =
¿Por qué los bucles siempre se compilan en el estilo "hacer...mientras" (salto de cola)?
Cuando intento comprender el ensamblaje (con la optimización del compilador activada), veo este comportamiento: Un bucle muy básico como este. outside_loop; while (condition) { statements; } A menudo se compila