Tag: MICRO-OPTIMIZATION
Cómo acelerar mi programa? Mi tarea: 1<=k<=n<=10, tiempo 1 segundo Imprima todas las particiones de un conjunto de n elementos en k conjuntos desordenados. Las particiones pueden ser mostradas en cualquier orden. Dentro de una partición, los conjuntos pueden ser mostrados en cualquier orden. Dentro del conjunto, los números deben . . . Read more
Varias arquitecturas admiten operaciones de multiplicación y suma fusionadas, como x86 con pmaddwd (y sus extensiones SSE), pero desconozco cualquier operación de desplazamiento y suma fusionada en x86 que sea equivalente a FMA. Esta pregunta se centra principalmente en x86, pero también sería útil conocer sobre otras arquitecturas. ¿Existe alguna . . . Read more
Esta es una versión mínima fácil de depurar del programa. Estoy haciendo una asignación continua de vectores y durmiendo durante 20 ms. Los 20 ms solo simulan una llamada externa que en un programa real tomará aproximadamente 200 ms. #include <iostream> #include <thread> #include <chrono> #include <vector> void fun(){ for . . . Read more
Cuando envié un parche a un proyecto de código abierto ampliamente conocido (conocido por su rendimiento y simplicidad), recibí una revisión que me sorprendió un poco: ‘usar el tipo “bool” de C99 es una mala idea’. Razonaron muy bien y me mostraron un programa de ejemplo simple que mostraba claramente . . . Read more
Intel recomienda el uso de prefijos de instrucción para mitigar las consecuencias de rendimiento del Erratum JCC. MSVC, si se compila con /QIntel-jcc-erratum, sigue la recomendación e inserta instrucciones con prefijos, como se muestra a continuación: 3E 3E 3E 3E 3E 3E 3E 3E 3E 48 8B C8 mov rcx,rax . . . Read more