Resultados de la búsqueda a petición "micro-optimization"
¿Por qué NASM en Linux cambia los registros en el ensamblado x86_64?
Soy nuevo en la programación de ensamblajes x86_64. Estaba escribiendo el sencillo programa "Hello World" en el ensamblado x86_64. A continuación se muestra mi código, que funciona perfectamente bien. global _start section .data msg: db "Hello ...
¿Hay una sobrecarga de rendimiento para una clase interna privada en Java?
Cuando tengo clases internas con métodos o campos privados, el compilador tiene que crear métodos de acceso protegidos con paquetes sintéticos para permitir que la clase externa acceda a esos elementos privados (y viceversa). Para evitar eso, ...
¿Cuál es la mejor manera de establecer un registro a cero en el ensamblado x86: xor, mov o y?
Todas las siguientes instrucciones hacen lo mismo: establecer%eax a cero. ¿Qué forma es óptima (requiere menos ciclos de máquina)? xorl %eax, %eax mov $0, %eax andl $0, %eax
Pruebe si un registro es cero con CMP reg, 0 vs OR reg, reg?
¿Hay alguna diferencia de velocidad de ejecución con el siguiente código: cmp al, 0 je doney lo siguiente: or al, al jz doneSé que las instrucciones JE y JZ son las mismas, y también que usar OR proporciona una mejora de tamaño de un byte. Sin ...
El MOV de @Can x86 realmente es "gratis"? ¿Por qué no puedo reproducir esto en absoluto?
Sigo viendo que la gente dice que la instrucción MOV puede ser gratuita en x86, debido al cambio de nombre del registro. Por mi vida, no puedo verificar esto en un solo caso de prueba. Cada caso de prueba que intento lo desacredita. Por ...
latency vs throughput en intel intrinsics
Creo que tengo una comprensión decente de la diferencia entre latencia y rendimiento, en general. Sin embargo, las implicaciones de la latencia en el rendimiento de la instrucción no me resultan claras para Intel Intrinsics, particularmente ...
División de punto flotante vs multiplicación de punto flotante
¿Hay alguna ganancia (no micro-optimización) de rendimiento al codificar float f1 = 200f / 2en comparación con float f2 = 200f * 0.5n profesor mío me dijo hace unos años que las divisiones de punto flotante eran más lentas que las ...
¿Por qué los bucles siempre se compilan en el estilo "do ... while" (salto de cola)?
Al intentar 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 en (pseudocódigo) ; outside_loop ...
Cargar un xmm desde GP regs
Digamos que tiene valores enrax yrdx desea cargar en unaxmm registrarse. Una forma sería: movq xmm0, rax pinsrq xmm0, rdx, 1 ¡Aunque es bastante lento! ¿Hay una mejor manera?
Debería usar String.format () de Java si el rendimiento es importante?
Tenemos que construir cadenas todo el tiempo para la salida del registro, etc. Sobre las versiones JDK hemos aprendido cuándo usarStringBuffer (muchos apéndices, hilo seguro) yStringBuilder (muchos apéndices, no es seguro para subprocesos). ...